특정 이벤트에서 팝업되는 양식이 있습니다. 배열의 버튼을 끌어 태그 값을 특정 값으로 설정합니다. 따라서이 버튼을 누르거나 클릭하면 함수는 태그 값을 반환해야합니다.누름 단추에서 반환 값 가져 오기
어떻게하면됩니까? 그리고 어떤 버튼을 클릭했는지 어떻게 알 수 있습니까? 이 코드는 DialogResult를 반환하지만 함수에서 Tag 값을 반환하려고합니다. 어떻게하면 코드를 수정할 수 있습니까?
public static DialogResult SelectBox(string title, string[] btnArray, string[] btnValueArray)
{
Form form = new Form();
Button[] buttonArray;
buttonArray = new Button[5];
form.Text = title;
for (int i = 0; i < btnArray.Length; i++)
{
buttonArray[i] = new Button();
buttonArray[i].Text = btnArray[i];
buttonArray[i].Tag = new int();
buttonArray[i].Tag = btnValueArray[i];
buttonArray[i].TabStop = false;
buttonArray[i].Location = new System.Drawing.Point(0, i * 40);
buttonArray[i].Size = new System.Drawing.Size(240, 40);
}
form.ClientSize = new Size(240, 268);
form.Controls.AddRange(new Control[] { buttonArray[0], buttonArray[1], buttonArray[2] });
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.StartPosition = FormStartPosition.CenterScreen;
form.MinimizeBox = false;
form.MaximizeBox = false;
DialogResult dialogResult = form.ShowDialog();
return dialogResult;
}
버튼이 8 개 이상인 경우 어떻게됩니까? (DialogResult enum은 8 가지 값을 가질 수 있습니다.) –
@ 오스카 : 예, 그렇다면 좀 더 작업해야합니다. 드물게 (있는 경우) 양식에 8 개 이상의 단추가 있어야합니다. –
Microsoft Outlook을 열고 도구> 옵션으로 이동하면 첫 번째 탭에서만 표시됩니다. –