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