我在Visual Studio C#中創建了一個帶有文本框和保存按鈕的窗體,在文本框中輸入文本並單擊保存在垂直另一窗體上創建一個動態按鈕但是當我用文本框中的新文本重新運行我的應用程序時,或者重新啓動我的應用程序時,則上一個按鈕會丟失,因此請告訴我一些邏輯或代碼,以便如何將該動態按鈕永久保存在flowlayout面板中並當保存新文本時,它會在先前創建的文本之下創建另一個按鈕,依此類推。即使在重新啓動計算機時,如何永久保存動態按鈕
回答
爲了在運行時保存某些內容,您必須使用文件或使用Application Settings
。關於應用程序設置的一個很好的參考可以在MSDN找到。
您可以創建一個像ButtonsList
(您必須編寫一個類)類型的設置來存儲創建的按鈕。我說ButtonsList
考慮到你想保存每個按鈕的更多屬性。如果您不需要保存除標題之外的其他任何內容,則可以將該屬性設置爲字符串數組。
此外,一個非常重要的事情,是點擊Save
按鈕後,你必須調用
Properties.Settings.Default.Save();
,以保持所保存的數據,而你的應用程序不上。
步驟:
- 在Visual Studio中,單擊
PROJECT
菜單項。 - 點擊
<project-name> Properties
項目。 - 在打開的窗口中,轉到左側窗格中的
Settings
。 - 在窗口中間的表格中點擊
Setting
,然後輸入您要創建的設置的名稱(例如dynamicButtons
)。 - 點擊
string
下拉列表,然後選擇System.Colletions.Specialized.StringCollection
。 轉到您的程序,並在
Save
點擊事件類型:Properties.Settings.Default.dynamicButtons.Add("button1_caption");
Properties.Settings.Default.Save();
下面是的ButtonInfo
個簡單的集合稱爲ButtonsCollection
代碼:
class ButtonInfo
{
public string Caption { get; set; }
public Point Location { get; set; }
public Size ButtonSize { get; set; }
public ButtonInfo(string caption, Point location, Size size)
{
this.Caption = caption;
this.Location = location;
this.ButtonSize = size;
}
}
class ButtonsCollection : System.Collections.CollectionBase
{
public void Add(ButtonInfo bi)
{
List.Add(bi);
}
public void Remove(int index)
{
if (index > Count - 1 || index < 0)
{
System.Windows.Forms.MessageBox.Show("Index not valid!");
}
else
{
List.RemoveAt(index);
}
}
public ButtonInfo Item(int index)
{
return (ButtonInfo)List[index];
}
}
由於Visual Studio中的設置的可視化設計器不允許y要使用自定義類型設置,您必須執行一些手動工作。你會發現更多有關創建這些自定義設置here, on MSDN.
希望我的努力不是無用:)
你將要保存你需要的信息來重新創建按鈕(可能是標籤,位置或順序)到某種形式的配置文件。當你啓動應用程序時,檢查文件是否存在。如果是,請將其重新讀入,然後重新創建按鈕。
你能提供給我就怎麼做,有些鏈接? – Teesha
- 1. 計算機重新啓動時,啓動處理程序
- 2. WMI重新啓動遠程計算機
- 3. 通過VBS重新啓動計算機
- 4. 在實例重新啓動時掛載永久磁盤
- 5. 計算機重新啓動,「System.Security.Cryptography.CryptographicException」後:鍵集不存在
- 6. 如何在Python腳本中重新啓動Windows XP64計算機?
- 7. Apache〜如何在計算機啓動時無法啓動Apache
- 8. 當應用程序重新啓動時,動態生成的按鈕不存在?
- 9. 禁用按鈕並在重新啓動後保存
- 10. 在VB.NET中保存關閉/重新啓動計算機上的數據
- 11. 如何在點擊提交按鈕後永久保存表單
- 12. 使用powershell重新啓動計算機如果-LastBootupTime = -gt 10天
- 13. 重新啓動countdwon計時器在下一個按鈕單擊
- 14. 如何重新啓動程序? (重新啓動按鈕在遊戲中)
- 15. 使用Powershell在遠程計算機上重新啓動IIS
- 16. 重新啓動USB插入設備,無需重新啓動計算機
- 17. 如何在重新啓動後立即啓動鎖屏活動?
- 18. 如何知道計算機重新啓動
- 19. 重新啓動後,使openshift原始碼頭容器永久存在
- 20. 永久禁用保存按鈕並提交後啓用編輯按鈕
- 21. 永久使用監視文件重新啓動
- 22. 按鈕在重新添加到DOM時保持活動狀態
- 23. 製作按鈕重新啓動活動
- 24. 檢測計算機何時啓動?
- 25. Javascript如何重新啓動計時器
- 26. 如何重新啓動計時器?
- 27. 如何重新啓動計時器?
- 28. 如何永久保存按鈕點擊(iOS)
- 29. 點擊保存按鈕時保存動態控制狀態
- 30. 在重新啓動時使用CouchDB進行永久連續複製
太感謝你了,非常豐富,但與按鈕我也想保存它的位置在面板的FlowLayout,使生成的下一次按鈕時,應正確低於前一個創建的文本一起。那麼怎麼做也是..? – Teesha
請稍等一下,讓我寫你的代碼! – Victor
是它似乎是真的再次有幫助我...謝謝... – Teesha