小编Cri*_*isS的帖子

从工具箱拖放到 Windows 窗体设计器时的对象引用异常

从工具箱中拖动控件并将其放入 Windows 窗体设计器时,会出现一个消息框,其中显示消息对象引用未设置为对象的实例。

关闭消息框后,我可以将控件放在表单上而不会出现任何其他问题。

这也发生在一个新项目上。该错误出现在 VS 2015 和 2017(两个社区版)中。

编辑:这发生在任何控件上,包括自定义控件。在我更新到最新版本的 Windows 10 (17134.48) 后,这种情况开始发生。

winforms visual-studio-2015 visual-studio-2017

6
推荐指数
3
解决办法
3288
查看次数

Regexp在文本PostgreSQL中只找到6位数字

我需要建立在PostgreSQL的查询和我需要查找包含6位数字(例如,所有的文本输入000999,019290,998981,234567,等).问题是在字符串的开头或结尾处不需要该数字.

我尝试过但没有工作:

  • [0-9]{6} - 返回超过6位数的部分
  • (?:(?<!\d)\d{6}(?!\d)) - postgresql不知道lookbehind
  • [^0-9][0-9]{6}[^0-9] 它的变化,但无济于事.

构建我自己的Perl/C函数实际上并不是一个选项,因为我没有所需的技能.知道现在可以使用什么样的正则表达式或其他目前无法理解的技巧?

编辑

输入样本:

  • aa 0011527 /CASA - >应该返回NOTHING
  • aa 001152/CASA - >应该退货 001152
  • aa001152/CASA - >应该退货 001152
  • aa0011527/CASA - >应该返回NOTHING
  • aa001152 /CASA - >应该退货 001152

regex postgresql

5
推荐指数
1
解决办法
1万
查看次数

检查 IsDispose 和 Disusing 时“无法访问已处置的对象”

当应用程序收到来自服务的调用时,它会为每个调用打开一个表单。用户必须在每个窗口中进行输入并关闭它。为了使用户的工作顺利,我试图在显示下一个窗口时重新激活用户正在处理的窗口。

执行此操作的方法如下:

private void ActivatePreviousActiveForm() {

    if (_activeWhenOpen != null && _activeWhenOpen.InvokeRequired) {
         if (!_activeWhenOpen.Disposing || !_activeWhenOpen.IsDisposed)
              _activeWhenOpen.Invoke((MethodInvoker)ActivatePreviousActiveForm);
    } else
         if (_activeWhenOpen != null && !(_activeWhenOpen is FrmRuntimeError))
             _activeWhenOpen.Activate();
}
Run Code Online (Sandbox Code Playgroud)

有时,当到达该行时,它会抛出“无法访问已处置的对象”

if (!_activeWhenOpen.Disposing || !_activeWhenOpen.IsDisposed)
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况?

c# objectdisposedexception winforms

1
推荐指数
1
解决办法
2906
查看次数