你调用的对象是空的。在c#中创建窗体的新实例时

时间:2012-09-26 07:36:00

标签: .net winforms window

我有一个名为捕获签名的按钮MainForm(WinForm)。在此按钮的Click事件中,我正在创建实例CaptureSignatureForm,代码如下。

MainForm oSign = new MainForm(this);
oSign.ShowDialog();

当表格打开时我捕捉签名,捕获后,表格将关闭 我第二次点击capturesignature按钮时,会抛出一个错误:"Object reference not set to an instance of an object"

我正在使用第三方dll捕获签名。

我在if条件下以斜体粗体文本出错。  contol是signaturecapturedevice的对象。  根据第三方文件记录(当您使用时,功能对象会自动填充 连接到平板电脑。)

  if (control.EnsureConnected() && ***control.capabilities.LCDWidth != 0***)
            {
                this.ClientSize = new Size(tabletWidth, tabletHeight);

                if (model == Model.STU300)
                {
                    btnOk.SetBounds(tabletWidth - 80, 0, 80, tabletHeight / 3);
                    btnClear.SetBounds(tabletWidth - 80, tabletHeight / 3, 80, tabletHeight / 3);
                    btnCancel.SetBounds(tabletWidth - 80, (tabletHeight / 3) * 2, 80, tabletHeight / 3);
                }
                else
                {
                    btnOk.SetBounds(0, tabletHeight - 55, tabletWidth / 3, 55);
                    btnClear.SetBounds(tabletWidth / 3, tabletHeight - 55, tabletWidth / 3, 55);
                    btnCancel.SetBounds((tabletWidth / 3) * 2, tabletHeight - 55, tabletWidth / 3, 55);
                }

1 个答案:

答案 0 :(得分:0)

似乎在调用capabilities.LCDWidth并且功能没有值时给出异常,要么检查供应商文档的功能,要么尝试探索control.Reconnect / Close任何一种,然后尝试运行此< / p>