Gtk.RadioButton
위젯의 Clicked
이벤트에 문제가 있습니다.모노 gtk.RadioButton 클릭 이벤트 두 번
using System;
using Gtk;
public partial class MainWindow: Gtk.Window
{
public MainWindow(): base (Gtk.WindowType.Toplevel)
{
Build();
RadioButton rbt1 = new RadioButton (null, "rbt1");
RadioButton rbt2 = new RadioButton (rbt1, "rbt2");
RadioButton rbt3 = new RadioButton (rbt1, "rbt3");
VBox vbx1 = new VBox();
vbx1.PackStart (rbt1, false, false, 0);
vbx1.PackStart (rbt2, false, false, 0);
vbx1.PackStart (rbt3, false, false, 0);
this.Add (vbx1);
this.ShowAll();
rbt1.Clicked+= HandleClicked;
rbt2.Clicked+= HandleClicked1;
rbt3.Clicked+= HandleClicked2;
}
void HandleClicked2 (object sender, EventArgs e)
{
Console.WriteLine ("rbt3.Clicked");
}
void HandleClicked1 (object sender, EventArgs e)
{
Console.WriteLine ("rbt2.Clicked");
}
void HandleClicked (object sender, EventArgs e)
{
Console.WriteLine ("rbt1.Clicked");
}
}
문제이다 : 나는 rbt2를 누르면
출력은 :
을 rbt2.Clicked rbt1.Clicked 여기 는 예 코드가
가
rbt3을 클릭하면 출력은 다음과 같습니다.
,451,515,을 rbt3.Clicked rbt2.Clicked, 출력은 다음과 같습니다내가 rbt1을 클릭하면
이
는
가
그러나 무엇을 rbt1.Clicked rbt3.Clicked I rbt *를 클릭하면 "rbt * .Clicked"만 출력됩니다.
안녕하세요, 귀하의 도움에 감사드립니다. 그리고 당신의 코드로 Toggled 신호를 시험해 봅니다. 또한 내가 클릭 신호를 테스트하지만 "if ((RadionButton) .Active와 같은 발신자") 조건을 추가했습니다. 이전 코드에서도 작동합니다. –