簡體   English   中英

保存在運行時創建的C#Winform控件

[英]Save C# winform controls created in run time

我創建winform,並在運行時根據傳遞給表單的一些數據創建控件。
我不知道將要創建的控件數量以及控件的類型。
傳遞給表單的數據只是文本,我要檢查創建標簽或文本框或按鈕的條件。

我要保存此控件的名稱,位置,文本。 該控件可以是文本框,按鈕,標簽,組合框。

我該怎么做? XmlSerializer在這種情況下是否有效? 如果是,如何使用?
誰能給我一些代碼或鏈接?

控件並非旨在保存。 因此您無法使用控件本身來執行此操作,但是如果您編寫的類包含控件中所需的詳細信息,則可以按需保存和使用它們。 只需將它們標記為可序列化,然后將其輸入流編寫器和讀取器( https://msdn.microsoft.com/en-gb/library/ms233843.aspx

[Serializable]
class ControlFactory
{
    enum ControlType
    {
        TextBox
    }
    ControlType Type {get;set;}
    Point Position {get;set;}
    //etc.
    Control Create()
    {
        switch(Type)
        {
            case ControlType.TextBox:
                TextBox txt = new Textbox();
                // apply settings
                return txt;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM