문제
gtk#에 마우스 클릭으로 열리는 대화가 있으며, 버튼을 클릭 한 후 대화를 다시 닫아야합니다. 창에서 두 가지 메소드를 Hide ()와 destroy () 호출해야합니까?
대화를 시작하기위한 내 코드는 다음과 같습니다.
protected virtual void ConfigureDialogue (object sender, System.EventArgs e)
{
MyConfigWindow myConfWindow = new MyConfigWindow ();
this.Sensitive = false;
myConfWindow.Run ();
this.Sensitive = true;
}
다음은 구성 창의 관련 부분입니다.
public partial class MyConfigWindow : Gtk.Dialog
{
public MyConfigWindow ()
{
this.Build();
}
protected virtual void onSave (object sender, System.EventArgs e)
{
this.Hide();
this.Destroy ();
}
}
내가 전화 할 때만 this.Destroy ()
기본 창이 다시 민감 해집니다 (따라서 myConfWindow.Run ()
끝났지 만 대화는 여전히 보입니다.
해결책
구성된 구성 절차에서 파괴 호출이 누락되었습니다 ...
this.Sensitive = false;
result = myConfWindow.run();
if (result == gtk.RESPONSE_CLOSE:)
myConfWindow.destroy();
this.Sensitive = true;
도움이되기를 바랍니다.
제휴하지 않습니다 StackOverflow