Omezení ovládacích prvků model Windows Forms v dokumentech Office

Existují určité rozdíly mezi ovládacími prvky model Windows Forms, které se přidávají do systém Microsoft Office wordových dokumentů nebo systém Microsoft Office excelových listů, a model Windows Forms ovládací prvky přidané do model Windows Forms. Když například přidáte Button ovládací prvek do dokumentu, vlastnosti, jako Dockje , Anchora TabIndex nechová se tak, jak byste očekávali.

Mnohé z těchto rozdílů jsou způsobeny způsobem, jakým jsou ovládací prvky model Windows Forms hostovány v dokumentech. Když do dokumentu přidáte ovládací prvek model Windows Forms, visual Studio Tools for Office runtime vloží ovládací prvek technologie ActiveX, který pak hostuje ovládací prvek model Windows Forms v dokumentu. Ovládací prvek model Windows Forms není vložen přímo do dokumentu.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO pro Excel a Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Omezení metod a vlastností ovládacích prvků model Windows Forms

Existuje řada metod a vlastností ovládacích prvků model Windows Forms, které nefungují stejným způsobem jako v dokumentu ve formuláři Windows, a proto se doporučuje, aby se nepoužívaly. Například nastavení vlastností, například Dock a Anchor pouze ovlivňuje umístění ovládacího prvku vzhledem k kontejneru technologie ActiveX ovládací prvek, nikoli dokument. Následuje seznam nepodporovaných metod a vlastností ovládacích prvků model Windows Forms pro Word a Excel:

Nelze také nastavit Left nebo Top vlastnost ovládacích prvků model Windows Forms, které jsou v řádku s textem v dokumentu aplikace Word. model Windows Forms ovládací prvky se přidávají do řádku s textem v následujících případech:

  • Do wordového dokumentu přidáte ovládací prvek prostřednictvím kódu programu a použijete metodu, která určuje rozsah umístění.

  • Do wordového dokumentu přidáte ovládací prvek model Windows Forms v době návrhu. Můžete to změnit úpravou ovládacího prvku v návrháři.

Rozdíly v ovládacích prvcích model Windows Forms v dokumentech Office

model Windows Forms ovládací prvky mají obecně stejné chování v dokumentu Office jako u formuláře Windows, ale existují některé rozdíly. Následující tabulka popisuje rozdíly, které existují pro ovládací prvky model Windows Forms v dokumentech Office.

Funkce Rozdíl
Pořadí ovládacích prvků Ovládací prvky umístěné v excelovém listu nebo wordovém dokumentu nelze procházet tabulátorem.
Seskupování ovládacích prvků Ovládací prvek nelze použít GroupBox k zahrnutí jiných ovládacích prvků v dokumentu Office. Když do dokumentu přidáte více přepínačů, přepínače se vzájemně nevylučují. Můžete napsat kód, aby se přepínače vzájemně vylučují; Upřednostňovaným přístupem je však přidat přepínače do uživatelského ovládacího prvku a pak přidat uživatelský ovládací prvek do dokumentu. Další informace najdete v ukázkách a názorných návodech k ovládacím prvkům Wordu nebo ukázkám ovládacích prvků Excelu.
Typ ovládacího prvku model Windows Forms ovládací prvky používané v dokumentech jsou zabalené do třídy poskytované modulem runtime Visual Studio Tools for Office, který poskytuje další funkce specifické pro excelový list nebo wordový dokument. Pokud máte například na excelovém listu ovládací prvek Tlačítko, nezapomeňte zadat typ, Button nikoli při Button odkazování nebo přetypování objektu.
Umístění a velikost ovládacího prvku Velikost a umístění ovládacího prvku jsou určeny vlastnostmi, které jsou součástí kontejneru technologie ActiveX ovládacího prvku. Vlastnosti technologie ActiveX ovládacího prvku přebírají jiné hodnoty než ekvivalentní vlastnosti model Windows Forms ovládacího prvku. Když nastavíte ovládací prvek Top, Leftnebo HeightWidth vlastnosti ovládacího prvku, měří se v bodech, nikoli pixelech.
Umístění ovládacího prvku ve wordových dokumentech Pokud přidáte ovládací prvky do rozložení založeného na toku, mějte na paměti, že ovládací prvky budou s obsahem při změnách obsahu tokovat. Ovládací prvek nelze při přetažení z panelu nástrojů ukotvit, protože ovládací prvek se přidá do wordového dokumentu rovnoběžně s textem. Pokud k přidání ovládacího prvku použijete jinou metodu, například poklikání na ovládací prvek, vloží se ovládací prvek podle možnosti Wordu, kterou jste nastavili pro vkládání obrázků.

Nelze nastavit Left ani Top vlastnost ovládacího prvku, který je vložený s textem.

Ovládací prvky nelze umístit do záhlaví nebo zápatí ani do vnořeného dokumentu.
Řídicí události Když je ovládací prvek vybraný, vyvolá události v následujícím pořadí:

1. Enter
2. GotFocus

Když je ovládací prvek zrušený, vyvolá události v následujícím pořadí:

1. Leave
2. Validating
3. Validated
4. LostFocus
Řízení škálování Když změníte nastavení přiblížení dokumentu na cokoli jiného než 100 %, ovládací prvky se deaktivují, i když se zobrazují jako měřítko s dokumentem. Pokud například kliknete na tlačítko, když je dokument při 130% přiblížení, zobrazí se zpráva, že ovládací prvek byl zakázán, dokud se lupa nenastaví na 100 %. Ovládací prvky budou fungovat správně, když změníte zvětšení na 100 %.
Hodnoty vlastností ovládacího prvku I když jsou vlastnosti ovládacích prvků ve formuláři Windows Form nastaveny na celočíselnou hodnotu, jsou nastaveny na jeden pro ovládací prvky v dokumentu aplikace Word. V Excelu jsou hodnoty vlastností ovládacích prvků nastaveny na dvojitou hodnotu. Height Pokud ovládací prvek a Width jeho vlastnost na listu překročí velikost listu nebo obrazovky, zkrátí se hodnota.
Změna velikosti ovládacího prvku Pokud změníte velikost ovládacího prvku v dokumentu pomocí jednoho z osmi úchytů pro změnu velikosti, nové rozměry ovládacího prvku se neprojeví v okně Vlastnosti , dokud nebude ovládací prvek znovu vybrán.
Řízení chování Ovládací prvky v excelovém listu se můžou chovat nepředvídatelně, když je okno listu rozdělené. Například přístup k TextBox listu může být dostupný jenom v jednom z oken.
Řízení pojmenování K pojmenování ovládacích prvků nelze použít vyhrazená slova. Pokud například přidáte Button list a změníte název na Systém, při sestavování projektu dojde k chybám.
Přidávání ovládacích prvků prostřednictvím kódu programu Nepoužívejte konstruktor ovládacího prvku k přidání ovládacího prvku do dokumentu za běhu. Místo toho použijte pomocné metody poskytované visual studio tools for Office runtime . Pomocí AddButton metody můžete například přidat tlačítko do listu. Pokud chcete přidat ovládací prvek, který tyto pomocné metody nepodporuje, můžete tuto metodu AddControl použít. Další informace naleznete v tématu Přidání ovládacích prvků do dokumentů Office za běhu.
Kopírování ovládacích prvků Pokud zkopírujete ovládací prvek model Windows Forms a vložíte ho do dokumentu za běhu, vloží se do dokumentu prázdný kontejner technologie ActiveX ovládací prvek. Ovládací prvek model Windows Forms se v novém umístění nezobrazí a kód za původním ovládacím prvek se nezkopíruje do kontejneru technologie ActiveX ovládacího prvku.

Omezení v projektech na úrovni dokumentů

Některá omezení používání ovládacích prvků model Windows Forms u dokumentů jsou jedinečná pro projekty na úrovni dokumentů.

Podpora řízení v době návrhu

Některé model Windows Forms ovládací prvky se z panelu nástrojů odeberou, když je v návrháři sady Visual Studio otevřen excelový list nebo wordový dokument. Důvodem jsou technická omezení nebo to, že funkce už jsou dostupné ve Wordu nebo Excelu. Excelové a wordové projekty podporují všechny ovládací prvky model Windows Forms a další komponenty, které se zobrazí v sadě nástrojů, když je dokument fokus, a můžete také přidat ovládací prvky třetích stran do listu nebo dokumentu.

Poznámka:

Když je dokument chráněný, odeberou se z panelu nástrojů všechny ovládací prvky. Informace o ochraně dokumentů naleznete v tématu Ochrana dokumentu v řešeních na úrovni dokumentu.

Poznámka:

Ovládací prvky třetích stran musí mít ComVisibleAttribute atribut nastavený na true , aby se mohl používat v řešení Office.

V sadě nástrojů nejsou k dispozici následující ovládací prvky a komponenty:

Podpora starších ovládacích prvků technologie ActiveX

Pokud vytvoříte projekt Office na úrovni dokumentu, který používá existující wordový dokument nebo excelový sešit, který obsahuje technologie ActiveX ovládací prvky, funkce ovládacích prvků technologie ActiveX se neztratí. Není však podporováno přidávání nových ovládacích prvků technologie ActiveX do dokumentů v sadě Visual Studio. Pokud má například wordový dokument tlačítko z panelu nástrojů Ovládací prvek, na kterém běží makro jazyk Visual Basic for Application (VBA), bude makro dál spouštět i po použití dokumentu v projektu Office. Doporučujeme však odebrat technologie ActiveX ovládací prvky a makra jazyka VBA a nahradit je ovládacími prvky model Windows Forms a spravovaným kódem.