检查是否调用了button_click事件

时间:2014-05-17 15:07:43

标签: c# winforms

我的按钮pict可让您选择一些图像。以下是此按钮的click_event

private void picture_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Title = "Open Image";
                dlg.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png";

            if (dlg.ShowDialog() == DialogResult.OK)
            {

                pict.Add(new Bitmap(dlg.FileName));
            }
        }
    }

我用这个按钮有几个相同的面板。如果我不使用pict按钮,则应加载标准图片。如何知道调用什么样的Picture_Click以及不知道什么?(我也希望在点击的那些按钮附近放置一个小PictureBox)。标准图像![在此处输入图像描述] [1]

3 个答案:

答案 0 :(得分:0)

private void picture_Click(object sender, EventArgs e)
{
    using (OpenFileDialog dlg = new OpenFileDialog())
    {
        dlg.Title = "Open Image";
        dlg.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg *.jpe; *.jfif; *.png";
        if (dlg.ShowDialog() == DialogResult.OK)
        {
            ((Button)sender).Add(new Bitmap(dlg.FileName));
        }
     }
 }

这应该可以正常工作。

在那里,我更新了代码,这次希望我做对了。

答案 1 :(得分:0)

我不确定这个答案是否对你有帮助,但也许不是无效,你可以返回一些东西,比如一个整数。

也许存储在某个数据库或某些东西中,比如旗帜。如果此标志为0,那么您没有调用此方法,如果它是1,则调用此方法。

类似的东西:

private int picture_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Title = "Open Image";
                dlg.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png";

                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    pict.Add(new Bitmap(dlg.FileName));
                    return 1;
                }
            }
        }

我希望这有帮助!

祝你好运

答案 2 :(得分:0)

使用事件处理程序的sender参数的Parent属性来发现面板:

Control myControl = ((Button)sender).Parent;