C# PictureBox 双击事件

PictureBox双击全屏,再次双击恢复,这个我会写,就是改变Dock从Fill到None。但是我有很多的PictureBox,一个一个的都要写一遍太繁琐重复,请问有没... PictureBox双击全屏,再次双击恢复,这个我会写,就是改变Dock从Fill到None。但是我有很多的PictureBox,一个一个的都要写一遍太繁琐重复,请问有没有什么简便的方法? 展开
 我来答
哲事姓无
2013-01-15 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:441万
展开全部

获取窗口中的所有PictureBox控件并保存在一个数组中

然后循环注册双击事件 

当双击发生时从数组中找出未被点击的PictureBox及被点击的PictureBox

未被点击的PictureBox设置为none

被点击的PictureBox设置为Fill


整合代码如下图所示:



GatAllPictureBox函数中的foreach循环有Bug,正确的应该如下:

foreach(controls subControl in control.Controls)

{

    if( subControl is PictureBox )

       controls.Add(subControl);

}

bxfc
2013-01-14 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:682万
展开全部
foreach (var control in this.Controls)
{
if (control is PictureBox)
{
//((PictureBox)control).DoubleClick+=......
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Dino_f
2013-01-13 · TA获得超过285个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:285万
展开全部
假设你的双击事件Function名为PBox_DoubleClick,你在控件的属性表内,为所有的PictureBox双击事件都选中该Function.

加上以下代码:
this.pictureBox1.DoubleClick += new System.EventHandler(this.PBox_DoubleClick);

this.pictureBox2.DoubleClick += new System.EventHandler(this.PBox_DoubleClick);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leafly0719
2013-01-13 · TA获得超过117个赞
知道答主
回答量:64
采纳率:0%
帮助的人:50.6万
展开全部
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
foreach (var item in this.Controls)
{
if (item is PictureBox)
{
(item as PictureBox).DoubleClick += new EventHandler(PB_DoubleClick);
}
}
}

void PB_DoubleClick(object sender, EventArgs e)
{
//处理事件
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懒汉有福音
2013-01-13 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:111万
展开全部
核心代码如下:
这是例遍你的窗体控件找到哪些是PictrureBox,然后给它加上事件,这个过程可以在窗体Load里面进行

foreach (var item in this.Controls)
{
if (item is PictureBox)
{
(item as PictureBox).DoubleClick += new x_EventHandler(DoubleClick);
}
}
事件在这里:
void x_DoubleClick(object sender, EventArgs e)
{
//在这里写你想要的Fill ,None 切换
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友818239c
2013-01-13 · TA获得超过361个赞
知道小有建树答主
回答量:731
采纳率:25%
帮助的人:217万
展开全部
你可以写一个循环控制所有的picturebox的属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式