2010-08-12 51 views

回答

0

最好的辦法可能是使用PropertyGrid控件顯示選定(點擊)對象屬性: http://msdn.microsoft.com/en-us/library/system.windows.forms.propertygrid.aspx

http://msdn.microsoft.com/en-us/library/aa302326.aspx

大多數爲「標準屬性類型」之類的字符串,詮釋的邏輯...已經在這個控件中實現了

但是我不會立即在右鍵單擊時顯示它。所有Windows應用程序的標準方式是,當你右鍵點擊一個對象時,你會得到該對象的特定上下文菜單,最後一個項目通常是「屬性...」。選擇該選項後,將顯示屬性網格。

如果要使用PropertyGrid控件顯示上下文菜單,我不確定它是否支持上下文菜單控件。但是一種方法就是創建一個新的表單「PropertyGridForm」,並在其上使用PropertyGrid。然後,在你的Object.CellMouseDown事件只是顯示的形式,這樣的事情:

private void Button1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
    PropertyGridForm f = new PropertyGridForm(); 
    f.PropertyGrid.SelectedObject = Button1; // (or sender?) whatever you need 
    f.Location = e.Location; 
    f.Show(); //or ShowDialog? 
    } 
} 

你必須找到關閉形式的最佳方式。你會關閉它,關閉它離開事件,停用事件?取決於你需要什麼樣的行爲。

相關問題