我正在使用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);
}
}