关闭表单后,我无法再访问它,因为对象不再存在。有什么方法可以避免这种行为,而不用每次执行事件时启动对象?这是第一种叫做状态的形式,它不是我唯一需要创建的,这就是为什么我要问。
这不起作用:关闭表单并单击菜单项后,我得到一个引用错误"Object不存在“,因此无法访问。
public partial class Main : Form
{
StatusForm statusForm = new StatusForm();
public Main()
{
InitializeComponent();
statusForm.MdiPa
我有一份表格(父母)。另外,我还处理了来自另一个进程的表单(子)。我需要始终在父窗体的顶部显示子窗体,并且可以使用主窗体。
当我们呼叫:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void MainForm_Shown(object sender, EventArgs e)
{
var childForm = new Form();
childForm.Show(t
Progress progress = new Progress();//progress.DialogResult is OK.
if (progress.ShowDialog() != DialogResult.OK)
{//progress.DialogResult is cancel.
throw new ArgumentException();
}
在调试器中,它显示结果为DialogResult.Cancel。为什么会这样呢?我有一个表单,只有一个进度条和一个标签。没别的了。我已经打开和关闭了一些其他表单,如果这很重要的话。表单无法打开。
Progress类:
public
我的处境很奇怪。我有一个带有子窗体的窗体。当子窗体中的值发生更改时,在update之后调用
If Not IsNull(Me.Parent) Then
Me.Parent.ParentField.Value = Me.SubformField.Value
End If
在父窗体中,我希望ParentField中的更改触发另一个事件。遗憾的是,以编程方式进行更改既不会触发AfterUpdate,也不会触发onChange事件。
由于同一个子窗体在更多的父窗体中使用,因此我不能直接调用在afterUpdate上调用的方法
还有什么我可以“订阅”的吗?
我在Control中遇到了一段奇怪的代码。
if (ParentForm != null)
{
traceBlock.Log("ParentForm is null");
if (!ParentForm.IsHandleCreated)
{
ParentForm.HandleCreated += (sender, e) =>
{
var text = PhysDocContext.Document.GetHeader(PhysDocContext);
ParentForm.Text = text
在一些客户端机器上,我收到了这个错误,它显然表明资源泄漏,或者达到了每个进程10000个句柄的硬限制。
我正在查看代码以重构它,我用来创建窗口的模式是(简化的)
class MyForm : Form
{
public MyForm()
{
InitializeComponents()
}
//windows generated code
public void InitializeComponents()
{
myButton = new System.Windows.Forms.Button();
myButton.Click +=
我在子窗体上有一个保存数据记录的方法。如果遇到某些错误,我希望关闭子窗体并在当前方法中停止执行,然后返回到主窗体。当我使用this.Close()时,表单会关闭,但关闭表单中的方法的执行不会停止。
父窗体代码:
SavePermanentRecord spr = new SavePermanentRecord(this);
spr.Show();
儿童形式代码:
if(path == null)
{
MessageBox.Show("There was a problem saving the file to the path: \r" + basePath + folde
我有以下两段代码,请看一下,我指出了哪里出了问题。我删除了调用第二个窗口的函数,它们在这里没有意义。
首先,主窗体,该窗体调用第二个窗体:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespa