问题描述
求鼠标左键点击button消失,然后右键又可以显示出来的代码、
解决方案
本帖最后由 liuuilliuuil123 于 2016-01-10 21:56:03 编辑
解决方案二:
在按钮的click事件中使用button1.Visible=false;来隐藏,因为按钮已经隐藏,你可能需要在窗体的右键事件中调用button1.Visible=true;来显示按钮。
解决方案三:
引用1楼save4me的回复:
在按钮的click事件中使用button1.Visible=false;来隐藏,因为按钮已经隐藏,你可能需要在窗体的右键事件中调用button1.Visible=true;来显示按钮。
我是动态创建的button,动态创建的方法是这样的privatevoidForm1_Load(objectsender,EventArgse){varmast=File.ReadAllLines("F:\test.txt");varp=newPoint(4,4);for(varr=0;r<mast.Length;r++){for(varc=0;c<mast[r].Length;c++){if(mast[r][c]=='1'){varb=newButton();b.Location=p;b.Width=b.Height;b.Click+=newSystem.EventHandler(b_Click);Controls.Add(b);}p.X+=22;}p.X=4;p.Y+=22;}}点击事件的方法我这样写的privatevoidb_Click(objectsender,EventArgse){MouseEventArgsMouse_e=(MouseEventArgs)e;//点鼠标右键,returnif(Mouse_e.Button==MouseButtons.Left){b.Visible=false;}elseif(Mouse_e.Button==MouseButtons.Right){b.Visible=true;}}
解决方案四:
貌似判断右键点击应该放在Form点击事件的回调方法里,毕竟Button不可见了就点不到了
解决方案五:
elseif(Mouse_e.Button==MouseButtons.Right){b.Visible=true;}当点击左键,button已经隐藏了,所以以上代码右键点击是不会执行的。
解决方案六:
在按钮的click事件中使用button1.Visible=false;来隐藏,因为按钮已经隐藏,你可能需要在窗体的右键事件中调用button1.Visible=true;来显示按钮。if(Mouse_e.Button==MouseButtons.Right){b.Visible=true;}
解决方案七:
左键点击都消失了右键还点击哪里,原按钮位置?你这样设计的非常不合理
解决方案八:
if(Mouse_e.Button==MouseButtons.Right){b.Visible=true;}
解决方案九:
添加MouseClick事件,然后实现:privatevoidForm1_MouseClick(objectsender,MouseEventArgse){if(e.Button==System.Windows.Forms.MouseButtons.Left){buttonTest.Visible=false;}elseif(e.Button==System.Windows.Forms.MouseButtons.Right){buttonTest.Visible=true;}}