Hledám už dobré dvě hodiny na MSDN, ale nenašel jsem uspokojivou odpověď. Vytvořil jsem si vlastní "control" do toolboxu, ale hodilo by se mi, kdybych k němu mohl přidat taky vlastní dialogové okno. Nechci vytvářet nové okno aplikace se dvěma textboxy a dvěma tlačítky. Prostě chci, podobně jako SaveFileDialog, přetáhnout můj dialog do svojí aplikace, nastavit parametry a handlery a o víc se nestarat. Bohužel jsem na tohle návod nenašel. Nevíte někdo, jak na to? Díky.
Fórum › .NET
Vlastní dialogové okno v C#
To paashi : To máš úplně jedno, stejně ve výsledku vytváříš formulář a otevíráš ho (většinou metodou ShowModal). Jen je to zabalený jako nevisuální komponenta.
Editoval DeaLer: Ty vestavěný dialogy jsou tuším systémový, takže tam je to trochu složitější.
To DeaLer : No, mě šlo hlavně o to, že bych mohl vytvořit dll, ke kterýmu by byl přístup z toolboxu a hlavně pomocí panelu Properties (aby to bylo lama-programmer-friendly). Momentálně to sice budu používat jen já, ale kdo ví, jak to bude za rok a jestli se mě, nebo někomu jinýmu bude chtít znova čumět do toho kódu. Někdo mi kdysi říkal: Když něco programuješ, tak to udělej pořádně, ať se pak k tomu nemusíš vracet.
Ale díky za reakci, hledám dál...
S tym som sa tiež trapil, maš pravdu veľa o tom nie je, ale nakoniec sa mi to podarilo. Normalne si vytvoriš formular, potom vytvoriš novu komponentu v ktorej vytvoriš instanciu toho formulára a daš jej vlastnosti a metódy na obsluhu toho formulara. Lepšie riešenie som nenašiel, ale takto sa nemusiš trapiť s vytvaranim instancie v svojom forme, vytvori ju designer za teba.
priklad komponenty :
public partial class newFileDialog : Component
{
private newFileForm newFileForm;
public newFileDialog()
{
InitializeComponent();
newFileForm = new newFileForm();
}
public newFileDialog(IContainer container)
{
container.Add(this);
InitializeComponent();
newFileForm = new newFileForm();
}
public DialogResult ShowDialog()
{
return newFileForm.ShowDialog();
}
public Size canvasSize
{
get
{
return newFileForm.CanvasSize;
}
}
public float verticalResolution
{
get
{
return newFileForm.VerticalResolution;
}
}
public float horizontalResolution
{
get
{
return newFileForm.HorizontalResolution;
}
}
a už ju len presunieš z toolboxu do projektu rovnako ako openFileDialog ;)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Jtable,Dialogové okno ... — založil elvis
Dialogove okno inak — založil marioff
Dialogove okno showModalDialog — založil george
Dialogové okno s možnostmi — založil erenis
Win32 API - dialogové okno — založil vollf82
Moderátoři diskuze