无法找到需要在那里进行陷印的表单上的控件

时间:2019-02-26 12:18:00

标签: c# sage-erp

我正在使用Sage 200夏季版,并且我对一段代码有疑问,我需要能够对Sage.Controls.Button进行空检查,但是即使将其放入var中,它仍然会使其在Windows窗体中被称为“可修改的按钮”崩溃。

虽然大多数人会说真的,但是这并不是一个简单的问题,我不是在处理鼠尾草对象,而是已经寻找了底层控制函数的现有引用,却找不到关于它的文档。对象或如何处理空值

如果我只是执行以下操作

  

var control =(Sage.Common.Controls.Button)Form.FindControlByName(“ saveButton”)。UnderlyingControl;

然后执行if语句,仍然会崩溃。任何想法如何处理。

public override void ConfigureForm()
{
    var sopOrderReturnLine = (Sage.Accounting.SOP.SOPOrderReturnLine) Form.BoundObjects[0];

    _itemDescription = sopOrderReturnLine.ItemDescription;
    if (sopOrderReturnLine.SOPOrderReturn.SpareBit1)
    {
                var button = new Button();
                button.Name = "extraInfoButton";
                button.Text = "Extra Info...";
                button.Alignment = ButtonAlignmentInContainer.Left;   

                var buttonPanel = (ControlPanel) Form.FindControlByName("buttonPanel").UnderlyingControl;
                buttonPanel.Controls.Add(button);

                button.Click += new EventHandler(button_Click);
            }
            var control = (Sage.Common.Controls.Button)Form.FindControlByName("saveButton").UnderlyingControl;
            if (control !=null)
            {
                var saveButton = (Sage.Common.Controls.Button)Form.FindControlByName("saveButton").UnderlyingControl;
                saveButton.BeforeClick += new System.ComponentModel.CancelEventHandler(saveButton_BeforeClick);
            }
}

0 个答案:

没有答案