Не могу найти контроль над формой там для необходимости ловушку для этого
Я работаю с Sage 200 Summer Edition, и у меня возникла проблема с куском кода. Мне нужно иметь возможность выполнить нулевую проверку на Sage.Controls.Button, но даже если я помещу его в переменную, он все равно потерпит неудачу. называется изменяемой кнопкой в окнах форм.
Несмотря на то, что это правда, большинство людей сразу скажут, что это нулевая проблема, и как ее решить, это не так просто. Я имею дело с объектами-мудрецами. Я искал существующие ссылки на базовую функцию управления и не могу найти документацию по объекту или как обрабатывать ноль
Если я просто сделаю следующее
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);
}
}