zoukankan      html  css  js  c++  java
  • wpf 只让窗口保留一个,并在最前显示

    就是遍历所有的,有的话就不生成了,没有的话就生成一个,还有最前是一个参数,最后就是窗口事件了。

    ChangeDistingWordOfSelected mw = null;
                foreach (Window win in App.Current.Windows)
                {
                    if (win is ChangeDistingWordOfSelected)
                    {
                        mw = win as ChangeDistingWordOfSelected;
                    }
                }
                if (mw == null)
                {
                    mw = new ChangeDistingWordOfSelected();
                    mw.WindowStartupLocation = WindowStartupLocation.Manual;
                   // mw.Left = 1025;//窗口生成的位置
                    mw.Left = Mouse.GetPosition(GlobalHelper._mainWindow).X;
                    mw.Top = Mouse.GetPosition(this).Y ;
                    mw.Show();
                }
                else
                {
                    mw.Visibility = System.Windows.Visibility.Visible;
                    mw.Topmost = true;
                }

                mw.btn_ok.Click += delegate//确定替换字
                {
                    ListResult[CurrentLineIndex].LineTxtInfo[CurrentTxtIndex].TxtResult = mw.ChangedWord.Text;//更换选中的字;

                    ObservableCollection<string> strNewLineTxt = new ObservableCollection<string>();
                    strNewLineTxt.Clear();
                    for (int l = 0; l < ListResult[CurrentLineIndex].LineTxtInfo.Count; l++)
                    {
                        strNewLineTxt.Add(ListResult[CurrentLineIndex].LineTxtInfo[l].TxtResult);
                    }
                    this.ListListBox[CurrentLineIndex].ItemsSource = strNewLineTxt;
                    mw.Close();
                };

    2,也可以新那家一个全局的窗口对象,每次检查当前对象是否为空

    if (drawingsoftware_wnd == null)
                {
                    double height = this.Height;
                    double width = this.Width;
                    drawingsoftware_wnd = new DrawingSoftware_Popup(this, height, width);
                    drawingsoftware_wnd.Owner = this;
                }

                if (!drawingsoftware_wnd.IsVisible)
                {
                    drawingsoftware_wnd.Show();
                    this.Hide();
                }
                else
                {
                    drawingsoftware_wnd.Hide();
                }

  • 相关阅读:
    NSHashtable and NSMaptable
    架构的本质:构造定律与结合规则
    软件复用的基础和形式
    架构模式:循环模式、管道模式
    待整理
    functions and closures are reference types-函数和闭包是引用类型
    @autoclosure-可以让表达式自动封装成一个闭包:输入的是一个表达式
    Python 运算符优先级
    Linux下chkconfig命令详解
    Linux下Redis开机自启(Centos)
  • 原文地址:https://www.cnblogs.com/LILING3/p/7610682.html
Copyright © 2011-2022 走看看