2013-11-09 52 views
2

我正在處理需要保存動態創建的文本框的項目(我需要在第二次運行應用程序時顯示文本框的數據)。如何保存動態創建的文本框及其值

這是我的代碼:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    static int itimes = 0; 
    static int i = 0; 
    public void textboxadd() 
    {    
     TextBox txt = new TextBox(); 
     txt.Name = "Name" + i; 

     if (i == 0) 
     { 
      Point p = new Point(6, 43); 
      txt.Location = p; 
     } 
     else 
     { 
      Point p = new Point(6, 43 + 32 * i); 
      txt.Location = p; 
     } 

     txt.Size = new System.Drawing.Size(236, 26); 

     Properties.Settings.Default.name1 = txt.Text; 
     Properties.Settings.Default.Save(); 


     groupBox1.Controls.Add(txt); 

     i++;   
    } 

    private void button1_Click(object sender, EventArgs e) 
    {    
     textboxadd(); 
     int gps = groupBox1.Size.Height; 
     if (itimes == 0) 
     { 
      itimes++; 
     } 
     else 
     { 
      groupBox1.Size = new System.Drawing.Size(248, gps + 32); 
     } 
    } 
} 

如果你不明白我的問題請你,我會回答。

謝謝你的幫助!!!!

+0

尊敬的OP能否請您向我們解釋您想要達到的目標,例子將不勝感激。 –

+0

我從ypour問題中瞭解到的是,您在運行時創建了一些文本框,並且您希望將它們存儲/保留以備後用,請糾正我,如果我錯了。 –

+0

是的,我想保存這個文本框。當我將填充這個文本框我想通過單擊按鈕保存這個值。 – user2971569

回答

1

保存這些動態創建的控件的列表,當您關閉應用程序時,將它們的值保存起來以備將來在文件中使用。

1)創建一個存儲你想要的值的類。例如,名稱,位置,大小和文本。用xml序列化屬性標記此類及其屬性。

2)當您創建一個文本框時,將其存儲在一個列表中。

3)當你關閉你的應用程序時,列出文本框的集合併爲它們中的每一個創建一個對象來存儲那些值。

4)使用XmlSerializer將這些值永久存儲在硬盤上。

5)當你啓動應用程序時,檢查你的文件是否存在,以及它是否存在,將它的值反序列化爲對象,並動態創建文本框並用先前保存的值設置它們。

我beliave你可以設法自己寫代碼。請記住這些說明,並且您將實現您想要的。

+0

謝謝你的answear。 – user2971569

+0

你知道一些很好的C#學習電子書或視頻課程嗎? – user2971569

+0

那麼,在互聯網上的商店和視頻課程就是一大堆書。如果你是初學者,幾乎每本關於C#的書都會教你一些東西。只需輸入一個C#書籍,並通過封面選擇一本書。 –

相關問題