1
早上全部,Visual Studios 2005 - 在設計器/屬性窗口中清除自定義屬性
我已經使用圖像屬性創建了自定義控件。該圖像屬性是獲取/設置爲私有圖像變量。
任何人都可以告訴我如何啓用獲取/設置以清除設計器的屬性?
I.e.如果我添加一個圖像到一個標準的PictureBox,我可以打Del來清除PictureBox中的圖像。我如何在我自己的自定義控件上覆制這種行爲?
早上全部,Visual Studios 2005 - 在設計器/屬性窗口中清除自定義屬性
我已經使用圖像屬性創建了自定義控件。該圖像屬性是獲取/設置爲私有圖像變量。
任何人都可以告訴我如何啓用獲取/設置以清除設計器的屬性?
I.e.如果我添加一個圖像到一個標準的PictureBox,我可以打Del來清除PictureBox中的圖像。我如何在我自己的自定義控件上覆制這種行爲?
最簡單地說,DefaultValueAttribute
應該做的工作:
private Bitmap bmp;
[DefaultValue(null)]
public Bitmap Bar {
get { return bmp; }
set { bmp = value; }
}
對於更復雜的情況下,你可能想嘗試加入Reset方法;例如:
using System;
using System.Drawing;
using System.Windows.Forms;
class Foo {
private Bitmap bmp;
public Bitmap Bar {
get { return bmp; }
set { bmp = value; }
}
private void ResetBar() { bmp = null; }
private bool ShouldSerializeBar() { return bmp != null; }
}
static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Form form = new Form();
PropertyGrid grid = new PropertyGrid();
grid.Dock = DockStyle.Fill;
grid.SelectedObject = new Foo();
form.Controls.Add(grid);
Application.Run(form);
}
}
「世界範圍」的網絡上沒有早晨,也沒有上午,晚上或晚上。 – AnthonyWJones 2009-01-13 11:13:42