国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

如何讓.Net控件在設計時InitializeComponent()中不生成相關代碼

2024-07-10 13:11:12
字體:
供稿:網(wǎng)友


組件的一些公共屬性不希望被vs在設計時加到initializecomponent()方法中怎么處理呢?我試過了,將屬性加上[browsable(false)]也不行。
我的代碼如下:
    /// <summary>
    /// 控制器通訊類型下拉列表框。
    /// </summary>
    public class communicationtypecombobox : combobox
    {
        /// <summary>
        /// 構(gòu)造列表框?qū)嵗?br>        /// </summary>
        public communicationtypecombobox()
        {
            items.add("串口");
            items.add("tcp");
        }

        /// <summary>
        /// 獲取列表框中的所有項。
        /// </summary>
        [browsable(false)]
        public new objectcollection items
        {
            get { return base.items; }
        }
    }


將控件放到窗體上,vs回自動在initializecomponent()方法中加入一下代碼。粗體部分。
 
            //
            // cmbcommunicationtype
            //
            this.cmbcommunicationtype.dropdownstyle = system.windows.forms.comboboxstyle.dropdownlist;
            this.cmbcommunicationtype.formattingenabled = true;
            this.cmbcommunicationtype.items.addrange(new object[] {
            "串口",
            "tcp"});
            this.cmbcommunicationtype.location = new system.drawing.point(124, 66);
            this.cmbcommunicationtype.name = "cmbcommunicationtype";
            this.cmbcommunicationtype.selecteditem = xunmei.door.communicationtype.serialport;
            this.cmbcommunicationtype.size = new system.drawing.size(121, 20);
            this.cmbcommunicationtype.tabindex = 2;
            this.cmbcommunicationtype.selectedindexchanged += new system.eventhandler(this.cmbcommunicationtype_selectedindexchanged);


隨著編輯次數(shù)的增會變成這樣。除了不在構(gòu)造函數(shù)中增加項以外,有沒有辦法解決這個問題?
 
this.cmbcommunicationtype.items.addrange(new object[] {
            "串口",
            "tcp",
            "串口",
            "tcp",
            "串口",
            "tcp",
            "串口",
            "tcp",
            "串口",
            "tcp"});
 
經(jīng)過幾天的努力終于找到了designonlyattribute 類 。
指定某個屬性 (property) 是否只能在設計時設置。

通過將 designonlyattribute 設置為 true 進行標記的成員只能在設計時進行設置。通常,這些屬性 (property) 只能在設計時存在,并且不對應于運行時對象上的某個實際屬性 (property)。

沒有屬性 (attribute) 或通過將 designonlyattribute 設置為 false 進行標記的成員可以在運行時進行設置。默認為 false。

將communicationtypecombobox的items屬性加上designonlyattribute 就可以完美解決該問題。

        /// <summary>
        /// 獲取列表框中的所有項。
        /// </summary>
        [designonly(false)]
        public new objectcollection items
        {
            get { return base.items; }
        }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 夏津县| 襄城县| 株洲市| 于都县| 沁阳市| 巨野县| 河池市| 镇原县| 井研县| 韩城市| 昆山市| 酒泉市| 来宾市| 台东市| 怀宁县| 太原市| 乌苏市| 阿鲁科尔沁旗| 科尔| 巴里| 宁波市| 常熟市| 浪卡子县| 湘潭县| 和平区| 阜阳市| 肇东市| 奉新县| 隆尧县| 武威市| 海盐县| 吉安县| 承德县| 武威市| 霍山县| 齐河县| 阿拉善右旗| 德兴市| 淮阳县| 莫力| 应用必备|