在c#中,怎样将控件button1_Click状态在选中之后保持,即使切换form后,切换回来还是处于选中状态?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c#中,怎样将控件button1_Click状态在选中之后保持,即使切换form后,切换回来还是处于选中状态?相关的知识,希望对你有一定的参考价值。

应该在private void button1_Click(object sender, EventArgs e)


写什么代码?
问题打错了,是check_box选中后,怎样保持状态呢,我没学过c#,这次做毕业设计需要,还请各位大神指点迷津啊~~

参考技术A 1楼说的是一种方式,但是如果你不会的话,告诉你个简单的方法。即定义一个全局变量,再进行调用。
第一步 在FORM定义下定义全局变量get_sle_id
public partial class FormTestResult : Form

public static int get_SLE_ID;
第二部 对全局变量赋值
get_SLE_ID = Int16.Parse(this.dataGridView1.CurrentRow.Cells["SLE_ID"].Value.ToString());
第三部 引用全局变量
FormTestResult.get_SLE_ID.ToString()追问

你说的方法我试了下,不过和楼上的方法一样,还是要刷新check_box状态,所以判断时不行。我就是想想办法在切换时保存checkbox的状态。还是很感谢~~

追答

不会吧。把程序发给我把,Q 523740321

参考技术B 路过……我想知道的是你说的button1_Click状态选中是个什么意思,按钮就是用来点击的嘛,你是要保留焦点?追问

呃……不好意思,打错了,是check_box。

追答

我还是不太懂切换form是个什么意思
check_box的enabled属性设置为true以后就是勾选的啦,在什么情况下会取消掉呢?我还真是想不起来,你看看有没有别的东西跟这个check_box相关联的

追问

有3个form,form1是主菜单,form2是子菜单,form3也是子菜单,form1里分别有按钮可以进入form2和form3,我们先通过form1进入form2,form2里有check_box按钮,我们对其进行选中,选中后,将check_box按钮里的text内容复制到form3里的text控件里面。此时,如果直接在form2里设置进入form3的控件,内容可以复制过去,但如果我们先从form2返回到form1,然后再通过form1进去form3,此时check_box text内容就不能复制到form3里面。

追答

你这样,在form2里面设置一个按钮完成这个赋值,进去form2,确定点击这个按钮之后返回form1,再到form3,按说这样应该没问题的
另外情况,你在form2里面设置的到form3的按钮,你把check_box的值给了form3的text,但是你从form1里面进到form3时候并没有这样一个语句,所以考虑在你form1转form3时候的按钮或者什么里面加上这个传递值的语句

追问

麻烦了。我再form1向form3的按钮上加了传值语句的,只不过传值前需要判断form2 check_box的状态,选中才传值。我又搜索了下资料,发现我在开辟新form时,用了new form语句,这个语句会刷新form状态,也就是切换form后,form2的选中状态被刷新了,所以不行,网上有人说必须要和数据库关联才不会被刷新,我再试试看。谢谢了~~

追答

直接搞成全局静态变量试试行不行~嘿嘿嘿~存进数据库,再提取出来,有点太麻烦了,总该有好办法的

本回答被提问者采纳

C#怎样判断鼠标移动到控件上了

我在一个panel上放了几个控件,现在我要知道在panel上鼠标单击时,是否是在控件上单击还是在空白处单击了。

比如,放一个label在panel上,分别绑定label和panel的click事件
private void label1_Click(object sender, EventArgs e)

this.label1.Text += " 1";


private void panel1_Click(object sender, EventArgs e)

this.label1.Text += " 2";


这时,发现单击label时,label1上只增加了1,没有显示2,说明只响应了label的单击。
而单击panel1时,label1上只增加了2。

所以,响应panel1_click的就是单击panel的空白处了
参考技术A 用坐标来判断吧。。。

private void panel1_MouseMove(object sender, MouseEventArgs e)

int intX = e.X;
int intY = e.Y;
if (intX > 482 && intY > 54 && intX < 666 && intY < 228)

鼠标在控件一上

else if (intX > 72 && intY > 54 && intX < 328 && intY < 192)

鼠标在控件二上

else

鼠标在空白处


参考技术B 问题啊不会说,什么叫鼠标移动到控件上了,你的标题应该是鼠标c在控件上lick(按下)了没 参考技术C 控件有mouseon之类的事件,你自己看 参考技术D VF知道的不多!

以上是关于在c#中,怎样将控件button1_Click状态在选中之后保持,即使切换form后,切换回来还是处于选中状态?的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform程序添加了dotnetbarmanager控件的窗口,怎样固定住菜单栏和状态栏分别在最上面和最下面?

在C#中怎样禁止ListView控件Details视图中双击某个项时复选框会自动设置或取消的这个功能呢?

C#中怎样获取radiobutton的值

C#怎样让tablelayoutpanel中控件居中显示

在C#中怎样在两个Form之间传递数据(Winfrom)?

怎样使用C#的RichTextBox控件