亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在C#中使用屬性控件添加屬性窗口

2019-11-18 19:36:35
字體:
來源:轉載
供稿:網友
  在VS.NET 中,我們可以很方便地使用屬性窗口來對某個控件的屬性進行設置,那么,我們有沒有想過,如果在應用程序中,在對程序中的自定義的屬性進行設置時,顯示一個象屬性窗口一樣的窗體,能對其中的屬性方便的設置呢?就象下圖所示的一樣。



  答案是完全可以的。我們可以使用微軟提供的PRoperty屬性控件來實現該功能。首先,我們新建一個c#的windows應用程序,之后在工具箱中,鼠標右鍵點選工具箱(TOOLBOX),在彈出的菜單中選擇“添加/移除項”,如下圖所示:


  在彈出的窗口中,選擇.NET Freamwork components窗口,再選擇其中的property grid控件,點擊選擇就完成了對控件的加入,如下圖所示:

  現在,我們可以開始使用該控件了。第一步,創建在應用程序中將要展現的字段屬性為public公有屬性。其中,所有的屬性必須有get和set的方法(如果不設置get方法,則要顯示的屬性不會顯示在屬性控件中)。為了設置相關的屬性,必須設置下面的一些關于屬性控件的屬性值,如下表所示:


屬性值含義
CategoryAttribute該屬性對在Property控件中的屬性按字母順序進行歸類
DescriptionAttribute其值為對每個屬性的具體文字描述,將會顯示在property控件的底部
BrowsableAttribute該值為是否在property控件中顯示或者隱藏某個屬性
ReadOnlyAttribute該值為某個屬性值是否在property控件中只讀
DefaultValueAttribute每個屬性的默認值

  接下來,我們創建一個用戶類,并且使用屬性控件,使得可以在屬性控件框中改變其值。我們先引入相關的命名空間:

using System.ComponentModel;

  之后,創建相關的類,設置有關的屬性,代碼如下:

/// Customer class to be displayed in the property grid /// </summary> /// [DefaultPropertyAttribute("Name")]
public class Customer
{
 private string _name;
 private int _age;
 private DateTime _dateOfBirth;
 private string _SSN;
 private string _address;
 private string _email;
 private bool _frequentBuyer;
 [CategoryAttribute("ID Settings"), DescriptionAttribute("Name of the customer")]   public string Name
 {
  get
  {
   return _name;
  }
  set
  {
   _name = value;
  }
 }
 [CategoryAttribute("ID Settings"), DescriptionAttribute("Social Security Number of the customer")]

 public string SSN
 {
  get
  {
   return _SSN;
  }
  set
  {
   _SSN = value;
  }
 }
 [CategoryAttribute("ID Settings"), DescriptionAttribute("Address of the customer")]
 public string Address
 {
  get
  {
   return _address;
  }
  set
  {
   _address = value;
  }
 }
 [CategoryAttribute("ID Settings"), DescriptionAttribute("Date of Birth of the Customer (optional)")]
 public DateTime DateOfBirth
 {
  get { return _dateOfBirth; }
  set { _dateOfBirth = value; }
 }
 [CategoryAttribute("ID Settings"), DescriptionAttribute("Age of the customer")]
 public int Age
 {
  get { return _age; }
  set { _age = value; }
 }
 [CategoryAttribute("Marketting Settings"), DescriptionAttribute("If the customer has bought more than 10 times, this is set to true")]
 public bool FrequentBuyer
 {
  get { return _frequentBuyer; }
  set { _frequentBuyer = value; }
 }
 [CategoryAttribute("Marketting Settings"), DescriptionAttribute("Most current e-mail of the customer")]
 public string Email
 {
  get { return _email; }
  set { _email = value; }
 }
 public Customer() { }
}

  可以看到,在上面的代碼中,我們對customer類中的屬性進行了設置,如姓名,出生日期,地址等。
接著,我們要為創建的customer類創建一個實例,并且將其與屬性控件綁定。屬性控件會自動根據類中對屬性的相關設置,從而在界面中顯示有關的屬性,并且還可以進行編輯,比如,可以對生日屬性進行修改,修改時會彈出日歷控件框,十分方便。代碼如下:

private void Form1_Load(object sender, System.EventArgs e)
{
//創建bill對象,實例化CUSTOMER類
Customer bill = new Customer();
//賦值給屬性
bill.Age = 50;
bill.Address = " 114 Maple Drive ";
bill.DateOfBirth = Convert.ToDateTime(" 9/14/78");
bill.SSN = "123-345-3566";
bill.Email = “bill@aol.com”
bill.Name = "Bill Smith";
//將對象綁定到property控件中
propertyGrid1.SelectedObject = bill;
}

  最后,運行程序,我們就得到了本文一開始圖示的結果了。再來回顧下該程序,其中我們使用了CatrgoryAttribute屬性,定義了id settings和MarketSettings,它們在屬性控件中以分類的形式出現(注意它們前有個“+”號,點擊可以展開看到其子屬性)。同時,我們每當選擇一個屬性時,在屬性控件框的下部,會同時顯示該屬性的相關描述。

  Property屬性控件還有很多優點,本文只是對其做了簡單介紹,希望能給讀者啟發。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情精品久久久久久大尺度| 国产亚洲aⅴaaaaaa毛片| 亚洲精品久久在线| 欧美亚洲第一页| 中文字幕亚洲自拍| 成人免费大片黄在线播放| 在线视频欧美日韩精品| 国产女同一区二区| 色婷婷av一区二区三区在线观看| 亚洲自拍偷拍第一页| 日韩三级影视基地| 91在线观看欧美日韩| 亚洲人av在线影院| 欧美wwwwww| 91社区国产高清| 91最新在线免费观看| 福利微拍一区二区| 亚洲欧美在线免费观看| 日韩一区二区三区xxxx| 久久精品99久久久久久久久| 国产成人精品国内自产拍免费看| 国内自拍欧美激情| 国产精品高潮呻吟视频| 欧美猛交免费看| 亚洲影院色在线观看免费| 久久精品亚洲热| 日韩国产欧美精品在线| 日韩精品有码在线观看| 精品福利在线观看| 91久久国产综合久久91精品网站| 国产欧美 在线欧美| 伊人男人综合视频网| 亚洲天堂网在线观看| 精品综合久久久久久97| 欧美日韩国产中字| 欧美激情视频在线观看| 国产精品精品一区二区三区午夜版| 日产精品99久久久久久| 午夜精品美女自拍福到在线| 久久视频在线免费观看| 欧美激情在线观看视频| 国产伦精品免费视频| 亚洲国产成人在线视频| 91精品美女在线| 日韩精品中文字幕有码专区| 欧美日韩免费在线| 性欧美暴力猛交69hd| 日韩av在线精品| 欧美精品久久久久| 欧美激情亚洲综合一区| 亚洲一区二区免费| 中文字幕久久精品| 日韩欧美在线视频日韩欧美在线视频| 日韩欧美精品网站| 精品久久久精品| 中文字幕亚洲无线码a| 国产精品久久久久久久久免费看| 亚洲男人第一av网站| 国产美女精品免费电影| 欧美精品电影在线| 精品久久久久久亚洲精品| 91精品国产综合久久久久久蜜臀| 欧美韩国理论所午夜片917电影| 成人国产精品久久久| 欧美日韩国产综合视频在线观看中文| 国产精品欧美激情在线播放| 欧美黑人又粗大| 欧美午夜xxx| 国产精品夜色7777狼人| 精品久久久久久中文字幕一区奶水| 久久久影视精品| 好吊成人免视频| 久久国产色av| 国产精品大片wwwwww| 精品性高朝久久久久久久| 91在线网站视频| 在线激情影院一区| 91国产视频在线播放| 国产精品综合久久久| 91麻豆桃色免费看| 欧亚精品中文字幕| 日韩毛片在线看| 狠狠躁夜夜躁人人爽超碰91| 国产激情久久久久| 亚洲色图日韩av| 亚洲天堂av在线播放| 精品久久国产精品| 国产亚洲aⅴaaaaaa毛片| 91久久久在线| 九九热99久久久国产盗摄| 国产一区二区三区在线观看视频| 日韩av中文在线| 97高清免费视频| 久久国产精品影片| 国产精品av网站| 精品高清一区二区三区| 久久久久免费精品国产| 搡老女人一区二区三区视频tv| 亚洲精品国精品久久99热一| 九九热99久久久国产盗摄| 亚洲a级在线观看| 精品视频在线播放色网色视频| 亚洲欧美另类自拍| 91精品国产综合久久香蕉的用户体验| 亚洲人成毛片在线播放| 国产欧美一区二区三区在线| 欧美性极品xxxx娇小| 国a精品视频大全| 国产精品永久免费观看| 国产成人亚洲精品| 国产一区二区三区久久精品| 91九色国产在线| 亚洲在线第一页| 亚洲色图偷窥自拍| 国产主播欧美精品| 亚洲欧美国产精品久久久久久久| 伊人久久大香线蕉av一区二区| 亚洲第一天堂无码专区| 日韩国产在线播放| 亚洲欧美日韩在线高清直播| 国产精品视频精品视频| 日本精品视频在线观看| 日韩视频中文字幕| 欧美日韩国产中字| 久久精品国产91精品亚洲| 国产999在线观看| 久久精品国产91精品亚洲| 亚洲欧美精品中文字幕在线| 欧美专区国产专区| 国产精品成人免费电影| 欧美黄色免费网站| 久久精品免费播放| 久久精品视频导航| 国产精品视频最多的网站| 91久久国产婷婷一区二区| 国产成人精品在线观看| 国产三级精品网站| 久久99久久99精品中文字幕| 久久韩国免费视频| 国产专区精品视频| 国产91色在线|| 亚洲91精品在线观看| 国产成人啪精品视频免费网| 日韩精品在线播放| 中文字幕亚洲综合久久筱田步美| 日韩欧美在线视频日韩欧美在线视频| 亚洲欧美日韩图片| 国产精品第一第二| 久久久久亚洲精品成人网小说| 精品欧美aⅴ在线网站| 欧美精品videossex性护士| 超薄丝袜一区二区| 国产欧美一区二区白浆黑人| 国产精品国产三级国产aⅴ9色| 久久久久成人网| 日韩欧美在线免费观看| 91中文字幕在线观看| 日韩一级裸体免费视频| 久久免费精品视频| xxxx欧美18另类的高清| 日韩欧美aaa| 欧美精品在线免费| 亚洲国产女人aaa毛片在线| 欧美性猛交视频|