如何控制浏览按钮的单击

本文关键字:浏览 按钮 单击 控制 何控制 | 更新日期: 2023-09-27 18:09:11

我有一个浏览按钮和两个空图像(image1, image2)。我想首先单击浏览按钮并将图像加载到(image1)。在第二次点击时,我想将图像加载到(image2)。

我对WPF和c#都是新手。我想我需要一些方法来控制按钮的点击?有人对此有什么想法吗?我将不胜感激。

这是我的代码背后的尝试:

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        OpenFileDialog fd = new OpenFileDialog();
        fd.DefaultExt = ".tif";
        fd.Filter = "(*.tif,*.tiff)|*.tif;*.tiff";
        fd.ShowDialog();
        string fname = fd.FileName;
        textBox1.Text = fname;
        image1.Source = new BitmapImage(new Uri(fd.FileName));
    }

之后,第一个图像显示在image1中,但是当我浏览另一个图像时,它出现在image1之上,而不是image2中。如何使我浏览的第二个图像显示在image2中?比如,如果按钮已经点击了一次,那么图像应该加载到image2?或者如果image1已经满了,然后加载到image2?我不确定!

哦,这样做的目的是创建一个界面,让用户浏览列表框中显示的不同图像,当用户单击每个图像时,它会显示在另一个窗口中,用户可以放大和缩小等等。

但是现在我只是被我项目的这一小部分卡住了!

如何控制浏览按钮的单击

虽然我质疑您为什么要做这样的事情,但您可以使用以下方法。另外,下次请努力一点。这是一个相对简单的解决方案!

private bool _ImageOneSet;
public MainWindow()
{
    InitializeComponent();
    _ImageOneSet = false;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
    if (!_ImageOneSet)
    {
        // set image one
        _ImageOneSet = true;
    }
    else
    {
        // set image two
    }       
}

我使用设置为false的私有字段。第一次button_click事件被触发,_ImageOneSet仍然是false,所以你可以设置第一个图像。

第二个(以及第三个,第四个等等),_ImageOneSettrue,所以你将设置第二个图像。