【问题标题】:How do I control the clicks of a browse button?如何控制浏览按钮的点击?
【发布时间】:2014-06-19 06:36:43
【问题描述】:

我有一个浏览按钮和两个空图像(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 中,但是当我浏览另一张图片时,它出现在图片 1 的顶部,而不是在 image2 中。如何使我浏览的第二张图像显示在 image2 中?也许是这样的,如果按钮已经被点击过一次,那么图像应该加载到 image2 中吗?或者如果image1已经满了然后加载到image2?我不确定!

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

但现在我只是被我项目的这个小部分所困!

【问题讨论】:

  • 我没有得到确切的目的。也许您可以在代码中保留一个标志,并在每次点击浏览时检查和更新它以设置和检测点击次数。
  • 显示你的代码尝试

标签: c# wpf


【解决方案1】:

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

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,因此您将设置第二个图像。

【讨论】:

  • 谢谢!我真的很感激。
猜你喜欢
  • 1970-01-01
  • 2010-10-28
  • 2011-10-14
  • 1970-01-01
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多