Не могу найти контроль над формой там для необходимости ловушку для этого - PullRequest
0 голосов
/ 26 февраля 2019

Я работаю с 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);
            }
}
...