我在使用C#进行制作毕业设计时候遇到了点问题,希望高手帮助解答一下,谢谢!!
我制作了一个自定义控件,定义了public的变量,用来判断不同的情况,进行GDI画图
public static int ST=1,Dir=1,LR=1,Tem,X=0,Y=0;//定义道岔
public static int SD = 1, DS = 0;//双动 单锁
public static string ID,ID2,ID3,ID4;//道岔名称
public static int ZY=0;//征用标志
public static int ab;
GDI画图是放在重绘的事件里面的
protected override void OnPaint(PaintEventArgs e)
{
//这里写重绘代码
//创建Graphics对象
Graphics GPS = this.CreateGraphics();
//创建画笔对象
Pen MyPen = new Pen(Color.Blue, 2f);
Pen JY = new Pen(Color.Gray, 2f);
然后使用if 判断各种参数的情况
当选择不同的右键菜单的时候
private void 反操ToolStripMenuItem_Click(object sender, EventArgs e)
{
ST = 2;
Tem = ST;
this.Invalidate();
}
改变参数,然后重绘;
之后在窗体应用程序里面调用dll测试,使用button调用自定义控件
UserControl1 Control1 = new UserControl1();
this.Controls.Add(Control1);
但是当我生成多个的时候,改变其中一个,只要点击其他任何一个,都会跟着一起改变,是不是因为参数都是PUBLIC的原因?
如果要改变的话,要怎么才能达到效果,改变其中一个自定义控件,其余的自定义控件不会跟着一起变,尝试过把public改成privata,但是在自定义控件里面设计的时候,也包含了一些新建的form,如果改成private,这些form也都是用不了这些参数了,应该如何解决啊!!