我在工程中建立了一个父窗体,包含一个工具拦(其中有2个没图标的按钮)和下方的‘确定’、‘取消’按钮。我在CS文件中将这5个控件的权限都设为protected了。然后建立了一个窗体继承它,于是奇怪的现象出现在设计器中了。我可以修改‘确定’、‘取消’这2个按钮的属性(例如:加个图标),但工具拦和其中的2个按钮都显示为琐定状态,无法修改属性。郁闷啊,为什么不可以在设计器中修改可见性为protected的父成员啊。我是新手,想大家原来也遇到过这种问题吧?

解决方案 »

  1.   

    可以改呀,如果不行,改为public 试试
      

  2.   

    因为工具栏中的按钮是在工具栏的集合中管理的,不像是Button那样直接被公开,不过这也算是VS的一个功能上不足的地方,算是Bug吧.
      

  3.   

    晕了,改成public也不行啊。窗体的代码:
    namespace org.xphter.net20.publiccode.ui {
    partial class frmDataList {
    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.IContainer components = null; /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
    protected override void Dispose(bool disposing) {
    if(disposing && (components != null)) {
    components.Dispose();
    }
    base.Dispose(disposing);
    } #region Windows 窗体设计器生成的代码 /// <summary>
    /// 设计器支持所需的方法 - 不要
    /// 使用代码编辑器修改此方法的内容。
    /// </summary>
    private void InitializeComponent() {
                               //窗体代码
    } #endregion public System.Windows.Forms.ToolStrip toolStrip;
    public System.Windows.Forms.ToolStripButton buttonQuery;
    public System.Windows.Forms.ToolStripButton buttonRefresh;
    public System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
    public System.Windows.Forms.ToolStripButton buttonAdd;
    public System.Windows.Forms.ToolStripButton buttonEdit;
    public System.Windows.Forms.ToolStripButton buttonDelete;
    public System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
    public System.Windows.Forms.ToolStripButton buttonNext;
    public System.Windows.Forms.ToolStripButton buttonPrevious;
    public System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
    public System.Windows.Forms.ToolStripButton buttonPrint;
    public System.Windows.Forms.ToolStripButton buttonFont;
    public System.Windows.Forms.ToolStripButton buttonQuit;
    public System.Windows.Forms.ListView listViewData;
    public System.Windows.Forms.ContextMenuStrip popupMenu;
    public System.Windows.Forms.ToolStripMenuItem menuItemRefresh;
    public System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
    public System.Windows.Forms.ToolStripMenuItem menuItemAdd;
    public System.Windows.Forms.ToolStripMenuItem menuItemEdit;
    public System.Windows.Forms.ToolStripMenuItem menuItemDelete;
    public System.Windows.Forms.ToolStripMenuItem menuItemBrowse;
    public System.Windows.Forms.ToolStripButton buttonColumnWidth;
    }
    }
      

  4.   

    我搞了个窗体继承它,然后在设计器上,toolStrip和它上的按钮都不能改属性了。显示为琐定。
      

  5.   

    后来我只好直接在FormName.Designer.cs中写代码来改控件的属性,是可以通过的。但是不能在修改器中改,改了手动写的代码就没啦。好郁闷啊,这样使用继承化反而复杂了,还不如不继承呢
      

  6.   

    是BUG?那如果想继承一个通用窗体的实现,该怎么处理呢?
    我现在搞的一个工程,很多窗体都是类似的,接口也差不多,所以想到了继承。
      

  7.   

    我用的VS是《Visual Studio 2005 Team Suite 180天试用版》,是不是这个版本的问题啊?
    楼上不会出现这个问题的兄弟用的是啥版本啊?
      

  8.   

    我装了VS2005 SP1了,还是不行啊。有人知道原因吗?
      

  9.   

    我用的是vs2008正版,也是如此,继承窗体不允许修改striptool上按钮的属性,郁闷