none
关于WinForm 窗体属性 RRS feed

  • 问题

  • 自定义一个窗体,然后窗体中自定义了许多的属性,
    比如说窗体中有自定义属性:X_Name、X_Point、一个枚举类型的X_Type,这个枚举有两个值(Left,Right),
    当X_Type的值为Left的时候,窗体右键属性看不到X_Name这个属性
    当X_Type的值为Right的时候,窗体右键属性看不到X_Point这个属性,
    就是当一个属性值发生改变时,窗体的属性也响应的变化;

    请问大佬们,这个该如何做么。

    2013年6月7日 2:26

答案

  • 你可以在窗体加载事件中对窗体的自定义属性进行判断,然后再From_Load事件中写入你上面问题中的逻辑就可以了,例如:

      private void Form1_Load(object sender, EventArgs e)
            {
    if(X_Type.Value==Left)
    {
    X_Name.Visible =false;
    }
    else
    {
    X_Point.Visible=false;
    }
    } 


    If my post is helpful,please help to vote as helpful, if my post solve your question, please help to make it as answer. my sample

    2013年6月9日 10:47

全部回复

  • 你为窗体绑定了一个右键菜单,假设有X_Name和X_Point两个菜单项,那么请在右键菜单的事件中:

      private void contextMenuStrip1_Opening(object senderCancelEventArgs e)
            {
                if(Some condition)
                {
                xNameToolStripMenuItem.Enabled=false;
                }
            }

    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年6月7日 2:34
    版主
  • 你可以在窗体加载事件中对窗体的自定义属性进行判断,然后再From_Load事件中写入你上面问题中的逻辑就可以了,例如:

      private void Form1_Load(object sender, EventArgs e)
            {
    if(X_Type.Value==Left)
    {
    X_Name.Visible =false;
    }
    else
    {
    X_Point.Visible=false;
    }
    } 


    If my post is helpful,please help to vote as helpful, if my post solve your question, please help to make it as answer. my sample

    2013年6月9日 10:47