panel 里面有若干个 picturebox 控件(简称 picbox), 分别有: 1.选中 2.未选中 状态
希望点击任何一个 picbox 的时候, 其他 picbox 的状态置为 2
目前的想法是将此 picbox 的点击事件传给父控件, 然后由父控件依次通知各子控件但是如何将子控件 picbox 的点击事件传给父控件呢? 或者有别的更好的办法达到同样的效果?
希望点击任何一个 picbox 的时候, 其他 picbox 的状态置为 2
目前的想法是将此 picbox 的点击事件传给父控件, 然后由父控件依次通知各子控件但是如何将子控件 picbox 的点击事件传给父控件呢? 或者有别的更好的办法达到同样的效果?
解决方案 »
- C#点击treeview在listview显示图片文件
- 围观了啊。。。。socket通讯问题
- 用datatable 动态绑定GridView 怎样可以找到列???
- 客户端Javascript可不可以查看RadioButtion是否选中
- 不规则窗体 GraphicsPath 窗体Region 问题
- 还是关于循环控制的问题
- 一个自定义控件的超级超级简单问题
- 程序退出是否会关掉Timer,不关Timer是否会像线程一样占用系统资源?
- 如何指定DataGrid某行的颜色(包括前景和背景)
- 请帮忙看看这个程序!
- 我误按下某个快捷键后,Visual Stuio将Tab和空格都显示出来了,如何不显示?
- 关于HttpContext.Current.User.Identity.Name 在子应用中取值为空的问题
{
pictureBox1.Click += OnPictureBoxClicked;
pictureBox2.Click += OnPictureBoxClicked;
//...
}void OnPictureBoxClicked(object sender, EventArgs e)
{
PictureBox pb = sender as PictureBox;
//...
}
pictureBox1.Click += OnPictureBoxClicked;
pictureBox2.Click += OnPictureBoxClicked;
//...
} void OnPictureBoxClicked(object sender, EventArgs e)
{
foreach (control ctr in this.panel1.Controls)
{
if(ctr.GetType()=typeof(PictureBox)
((PictureBox)ctr).状态属性=状态属性.2;
}
PictureBox pb = sender as PictureBox;
pb).状态属性=状态属性.1;
//...
}
pannel 有空白区域, 不过应该关系不大, 注意下就好了
谢谢了, 大体就采取这这种方法吧
不过有点奇怪的是, 我一般碰到这问题都是重载下 wndproc(), 等本层处理好了再将消息进一步分发, 这次竟然不行
{
//...
sonPictureBox1.Click += OnSonPictureBoxClicked;
sonPictureBox2.Click += OnSonPictureBoxClicked;
//
//...
} void OnPictureBoxClicked(object sender, EventArgs e)
{
foreach (control ctr in this.panel1.Controls)
{
if(ctr.GetType()=typeof(PictureBox)
{
((PictureBox)ctr).状态属性=((!sender)?状态属性.2:状态属性.1);
}
}
}