在做WPF项目时,点击一个按钮弹出一个自定义的窗体,然后点击X关闭该窗体,然后再点击按钮想弹出该窗体时,报错:关闭 Window 之后,无法设置 Visibility,也无法调用 Show、ShowDialogor 或 WindowInteropHelper.EnsureHandle。
解决办法:
需要重写它的OnClosing()方法。
protected override void OnClosing(CancelEventArgs e)
e.Cancel = true;
this.Hide();
【C#】关闭 Window 之后,无法设置 Visibility,也无法调用 Show、ShowDialogor 或 WindowInteropHelper.EnsureHandle
重写它的OnClosing()
前情提要:最近公司同事在做WPF的多个客户端的项目,客户端之间的通信是通过服务器转发实现的。
出现的问题:1.客户端A点击按钮a,A显示界面P正常,客户端B显示界面P正常;但是界面P和P1切换后会出现很多界面;
2.修改之后,又报错:关闭 Window之后,无法设置 Visibility,也无法调用 Show、ShowDialogor等等
当时看了代码第一反应是实例有问题,close()方法不会销毁你的实例,导致每次点击都会增加一个实例。看到这里自然而然就想...
参考网址:
1、WPF Tips: Window.ShowDialog()方法:Cannot set Visibility or call Show, ShowDialog, or WindowInteropHelp
http://blog.csdn.net/yapingxin/article/details/12209205
2、同样的疑问,在StackOverflow上的讨论如...
在做WPF项目时,点击一个按钮弹出一个自定义的窗体,然后点击X关闭该窗体,然后再点击按钮想弹出该窗体时,报错:关闭 Window 之后,无法设置 Visibility,也无法调用 Show、ShowDialogor 或 WindowInteropHelper.EnsureHandle。
解决办法:
需要重写它的OnClosing()方法。
protected override vo...
C#编程中的报错解决System.InvalidOperationException问题场景问题原因解决方案方案一,打破规则方案二,利用委托(Delegate)
在C# Windows GUI编程中,从某个子线程去访问设计器中的某个控件,例如将某个按钮禁用。这样就会触发该异常:
System.InvalidOperationException:"线程间操作无效: 从不是创建控件"btn_exp"的线程访问它。"
在C# Windows GUI编程中有一个规则,就是只能通过创建控件的线程
/// </summary>
/// <param name="e"></param>
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
有些时候我们需要根据某些条件来控制Web页面中的HTML元素显示还是隐藏,可以通过display或visibility来实现。通过下面的例子了解display和visibility的区别,简单的例子代码如下:
复制代码代码如下: <html> <head> <title>HTML元素的显示与隐藏控制</title> [removed] function showAndHidden1(){ var div1=document.getElementById(“div1”); var div2=document.getElementById(“div2”
【C#】关闭 Window 之后,无法设置 Visibility,也无法调用 Show、ShowDialogor 或 WindowInteropHelper.EnsureHandle
Armin君:
【WPF】获取下拉列表(ComboBox)的选项(ComboBoxItem)的内容
YNDLCN:
【WPF】获取下拉列表(ComboBox)的选项(ComboBoxItem)的内容
YNDLCN: