簡體   English   中英

如何在Visual Studio中制作類似屬性窗口的表格?

[英]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.

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