[英]How to make a form like properties window in visual studio?
我有TreeView
對象,當選擇treeview
一個node
,需要在確定的位置(該node
屬性)中顯示form
,而當選擇另一個node
時,則需要更改form
。 當未選擇任何節點時,該form
消失。 Form
僅包含ListView
對象。 我需要類似Visual Studio中的“屬性”窗口。
我現在遇到的問題是:
Form
隨機出現在錯誤的位置,我需要以另一種form
在確定的位置顯示它。
在每次按下鼠標事件后,出現一個新form
,但是我需要只有一個form
(或舊form
消失-新出現)
如果未選擇任何節點,則form
不會消失。
我該如何解決這個問題,或者有更好的解決方案?
我認為您正在尋找的是PropertyGrid控件。
http://msdn.microsoft.com/en-us/library/aa302326.aspx
這是一個非常深入和復雜的控件,但可以產生驚人的效果。
關於在每次鼠標按下事件后,出現一個新表單,但是我需要只有一個表單(或舊表單消失-新出現)我的解決方案:
向Form類添加一個靜態變量Form frm; 將靜態函數添加到Form類
//Create new form if not yet created
//Or return instance of opened form which can update by new parameters
public static Form Instance()
{
if (Form.frm = null)
Form.frm = new Form();
return Form.frm;
}
然后僅通過此靜態函數創建所有新表單。 如果要打開Form的其他實例,請為此靜態函數創建重載函數。
當然,請記住在關閉窗體上放置靜態Form.frm對象
嘗試使用以下代碼顯示表單:
private Form2 f2;
private void button1_Click(object sender, EventArgs e)
{
if (f2 == null) {
f2 = new Form2();
f2.FormClosed += delegate { f2 = null; };
f2.Show();
}
else {
f2.Activate();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.