VS2005  下设置窗体的一些属性  系统在运行过后几次就自动修改其属性
比如;public static ListView listView1;
再调试过程中就会被 修改成public ListView listView1;
以前也遇到过类似这样被系统修改的事情
不知道如何解决这个问题,,这个是vs系统bug吗?

解决方案 »

  1.   

    如果你写到Designer.cs 下会被更改的
    那是设计器生成的代码.
      

  2.   

    也遇到过,正如1楼所说。
    如果要在代码中设置控件的属性,写在Designer.cs会被修改。
    我理解是当窗体编辑器被重新保存后,Designer.cs文件就会保持一次。
    试一试在xxx.cs中设置这些属性吧。
      

  3.   

    严格来说不是BUG,如一楼所说,你可以写在代码(.cs)文件初始化方法调用之前来声明。
      

  4.   

    Designer.cs 文件和  XXX.cs文件是在一起的  没搞懂在什么地方申明,还望再指点一下 ,非常感谢
    namespace ChanSim.Channel
    {
    [Serializable]
    /// <summary>
    /// Channel4_2 的摘要说明。
    /// </summary>
    public class Channel4_2 : System.Windows.Forms.Form
    {
            private System.ComponentModel.Container components = null;
            private TabControl tabControl1;
            private TabPage tabPage1;
            private TabPage tabPage2;
            private Label label1;
            private ListView listView1;
            private ColumnHeader CsNo;
            private ColumnHeader sucOrfalse;
            private ColumnHeader sysTime;
            private TabPage tabPage3;
            private TabPage tabPage4;
            private ListView listView2;
            private ColumnHeader sucCount;
            private ColumnHeader falseCount;
            private ColumnHeader CsCallingNo;
            private ColumnHeader CsCalledNo;
            private ListView listView3;
            private ColumnHeader FtpNo;
            private ColumnHeader DailSuccess;
            private ColumnHeader FtpSpeed;
            private ColumnHeader FtpSuccess;
    public static ChannelDisplay[] PanelList = new ChannelDisplay[ChannelManager.CHANNELNUM_MAX]; public Channel4_2()
    {
    InitializeComponent();
    for(int i=0; i < ChannelManager.CHANNELNUM_MAX; i ++)
    {
    PanelList[i] = new ChannelDisplay ();
    }
    ChannelEvent.Fresh += new ChanSim.Channel.ChannelEvent.FreshEventHandle(ReFresh);
    NetService44.ChannelValueChanging +=new ChanSim.Communications.NetService44.ChannelEventHandler(NetService44_ChannelValueChanging);
    }
    #region Windows 窗体设计器生成的代码
    private void InitializeComponent()
    {
                this.tabControl1 = new System.Windows.Forms.TabControl();
                this.tabPage1 = new System.Windows.Forms.TabPage();
                this.listView1 = new System.Windows.Forms.ListView();
                this.CsNo = new System.Windows.Forms.ColumnHeader();
                this.CsCallingNo = new System.Windows.Forms.ColumnHeader();
                this.CsCalledNo = new System.Windows.Forms.ColumnHeader();
                this.sucOrfalse = new System.Windows.Forms.ColumnHeader();
                this.sysTime = new System.Windows.Forms.ColumnHeader();
                this.label1 = new System.Windows.Forms.Label();
                this.tabPage2 = new System.Windows.Forms.TabPage();
                this.listView2 = new System.Windows.Forms.ListView();
                this.sucCount = new System.Windows.Forms.ColumnHeader();
                this.falseCount = new System.Windows.Forms.ColumnHeader();
                this.tabPage3 = new System.Windows.Forms.TabPage();
                this.listView3 = new System.Windows.Forms.ListView();
                this.FtpNo = new System.Windows.Forms.ColumnHeader();
                this.DailSuccess = new System.Windows.Forms.ColumnHeader();
                this.FtpSuccess = new System.Windows.Forms.ColumnHeader();
                this.FtpSpeed = new System.Windows.Forms.ColumnHeader();
                this.tabPage4 = new System.Windows.Forms.TabPage();
                this.tabControl1.SuspendLayout();
                this.tabPage1.SuspendLayout();
                this.tabPage2.SuspendLayout();
                this.tabPage3.SuspendLayout();
                this.SuspendLayout();
                // 
                // tabControl1
                // 
                this.tabControl1.Controls.Add(this.tabPage1);
                this.tabControl1.Controls.Add(this.tabPage2);
                this.tabControl1.Controls.Add(this.tabPage3);
                this.tabControl1.Controls.Add(this.tabPage4);
                this.tabControl1.Location = new System.Drawing.Point(15, 15);
                this.tabControl1.Name = "tabControl1";
                this.tabControl1.SelectedIndex = 0;
                this.tabControl1.ShowToolTips = true;
                this.tabControl1.Size = new System.Drawing.Size(493, 722);
                this.tabControl1.TabIndex = 0;
    #endregion
      

  5.   

    现在想把 listView1  整成 public static  
      

  6.   

    你可以把listView1的声明移到构造函数或者load函数中。每次通过designer修改界面后InitializeComponent()中的内容都会被VS修改。
      

  7.   

    我修改成这样但是有一堆的警告  类似“变量“listView1”未声明或从未赋值。”  
    public class Channel4_2 : System.Windows.Forms.Form
    {

    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
            private System.ComponentModel.Container components = null;
            private TabControl tabControl1;
            private TabPage tabPage1;
            private TabPage tabPage2;
            private Label label1;
            public static ListView listView1 = new System.Windows.Forms.ListView();
            private ColumnHeader CsNo;
            private ColumnHeader sucOrfalse;
            private ColumnHeader sysTime;
            private TabPage tabPage3;
            private TabPage tabPage4;
            public static ListView listView2= new System.Windows.Forms.ListView();
            private ColumnHeader sucCount;
            private ColumnHeader falseCount;
            private ColumnHeader CsCallingNo;
            private ColumnHeader CsCalledNo;
            public static ListView listView3 = new System.Windows.Forms.ListView();
            private ColumnHeader FtpNo;
            private ColumnHeader DailSuccess;
            private ColumnHeader FtpSpeed;
            private ColumnHeader FtpSuccess;
    public static ChannelDisplay[] PanelList = new ChannelDisplay[ChannelManager.CHANNELNUM_MAX]; public Channel4_2()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent(); //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    //
    for(int i=0; i < ChannelManager.CHANNELNUM_MAX; i ++)
    {
    PanelList[i] = new ChannelDisplay ();
    }
    ChannelEvent.Fresh += new ChanSim.Channel.ChannelEvent.FreshEventHandle(ReFresh);
    NetService44.ChannelValueChanging +=new ChanSim.Communications.NetService44.ChannelEventHandler(NetService44_ChannelValueChanging);
    }