我在使用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也都是用不了这些参数了,应该如何解决啊!!
我制作了一个自定义控件,定义了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也都是用不了这些参数了,应该如何解决啊!!
解决方案 »
- C#访问linux
- 数据库连接问题
- SQL查询,急!!!急!!!
- 哪儿有象vs 2005 解决方案资源管理器这种TreeView控件下载(或是如何实现)?
- 请问有没有像msn messenger右下角的那种提示小窗口控件
- c#写的程序,要想在客户机器上运行,需要什么环境阿
- vs2010 开发的程序在别的机器都无法运行了
- C# winfrom窗体数据加载 过大一般怎么处理?
- 求助!关于datagridview与textbox并用的问题!!
- 觉得斑竹 ArLi2003的Api_Explor 非常不错,建议ArLi2003讲解一下开发的思想
- 窗体之间的传值(先这么表达,不接受反驳)
- 每次使用预定义字符串变量是不是对性能更好?
否则是所有对象共用的
找正规教程学习编程,不要靠自己乱蒙乱猜,不要靠什么 csdn 来学编程,那样你就算是在 csdn 混5年也学不会。
找正规教程学习编程,不要靠自己乱蒙乱猜,不要靠什么 csdn 来学编程,那样你就算是在 csdn 混5年也学不会。我现在还是学习但是毕设要用这个时间紧,我来寻求帮助的
public static int SD = 1, DS = 0;//双动 单锁
public static string ID,ID2,ID3,ID4;//道岔名称
public static int ZY=0;//征用标志
public static int ab;改为属性如:
public static int ab;
改为
private int _ab;public int ab
{
get{ return _ab;}
set {_ab=value;};
}使用button调用自定义控件
UserControl1 Control1 = new UserControl1();
Control1.ab=0; //这样赋值
this.Controls.Add(Control1);
对的,不是同窗,在控件的load时间里面弹出一个form,然后在form选radiobutton确定参数,传回给控件
&A -> objects [3] //记不清楚了,可能是可以用这个方式访问第三个对象的数据。具体情况需要查资料。
public static string ID,ID2,ID3,ID4;//道岔名称
public static int ZY=0;//征用标志
public static int ab;改为属性如:
public static int ab;
public static string ID,ID2,ID3,ID4;//道岔名称
public static int ZY=0;//征用标志
public static int ab;
更改改属性为
如:
public static int ab;
public static int SD = 1, DS = 0;//双动 单锁
public static string ID,ID2,ID3,ID4;//道岔名称
public static int ZY=0;//征用标志
public static int ab;改为属性如:
public static int ab;
改为
private int _ab;public int ab
{
get{ return _ab;}
set {_ab=value;};
}使用button调用自定义控件
UserControl1 Control1 = new UserControl1();
Control1.ab=0; //这样赋值
this.Controls.Add(Control1);