c#事件的使能控制

new_smile 2011-07-03 04:53:29
怎样能让panel的mouse事件在按钮点击后才响应呢?
...全文
136 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
new_smile 2011-07-03
  • 打赏
  • 举报
回复
很感谢各位慷慨解答,学习了不少,哈哈,爱你们
new_smile 2011-07-03
  • 打赏
  • 举报
回复
这样,按钮的点击和 panel的mouse事件成了一个事件,怎样让panel的mouse事件只应其区域内的呢?
自由建客 2011-07-03
  • 打赏
  • 举报
回复
private void Panel1_MouseUp(object sender, MouseEventArgs e)
{
if (!((Control)sender).Tag) return; // 不能则趁早退出
// ...
}

// 使能
private void Button1_Click(object sender, EventArgs e)
{
Panel1.Tag = true;
}

// 使不能
private void Button2_Click(object sender, EventArgs e)
{
Panel1.Tag = false;
}
Icedmilk 2011-07-03
  • 打赏
  • 举报
回复
在按钮的click事件里指定pannel的mouse事件

private void button1_Click(object sender, EventArgs e) {
this.panel1.MouseClick += new MouseEventHandler(panel1_MouseClick);
}

void panel1_MouseClick(object sender, MouseEventArgs e) {
MessageBox.Show("Allowed");
}
Hikor 2011-07-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
为panel编写mouse事件,但是不指定,点击按钮后,直接调用mouse事件

点击后执行
this.panel1_MouseMove(this.panel1, new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 0, 0, 0, 0));
[/Quote]

顶这个 楼主的意思就是点按钮后调用panel的mouse事件
cosmo_sei 2011-07-03
  • 打赏
  • 举报
回复
不太理解你说的这个问题,是想要操作mouse时没有响应,当点了按钮后才触发(触发什么?)?
想想,不就是按钮的点击事件吗??
bdmh 2011-07-03
  • 打赏
  • 举报
回复
为panel编写mouse事件,但是不指定,点击按钮后,直接调用mouse事件

点击后执行
this.panel1_MouseMove(this.panel1, new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 0, 0, 0, 0));

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧