C# 如何检查Gtk中的窗口是否最大化?
我想给一个窗口一个特定的属性,只有当它被最大化,并改变它回来时,最大化状态结束。我正在使用Gtk#,但欢迎所有Gtk绑定答案。我要找的是这样的东西(伪代码): 或: 或者C方式:C# 如何检查Gtk中的窗口是否最大化?,c#,c,gtk,gtk#,C#,C,Gtk,Gtk#,我想给一个窗口一个特定的属性,只有当它被最大化,并改变它回来时,最大化状态结束。我正在使用Gtk#,但欢迎所有Gtk绑定答案。我要找的是这样的东西(伪代码): 或: 或者C方式: gtk_window_on_maximise(GTK_WINDOW(mwin),onmax); void onmax() { if (gtk_window_is_max(GTK_WINDOW(mwin)) gtk_window_set_property(GTK_WIND
gtk_window_on_maximise(GTK_WINDOW(mwin),onmax);
void onmax()
{
if (gtk_window_is_max(GTK_WINDOW(mwin))
gtk_window_set_property(GTK_WINDOW(mwin),true);
else gtk_window_set_property(GTK_WINDOW(mwin),false);
}
有什么建议吗?感谢您在创建窗口时设置“窗口状态事件”信号并观察它。看见
而且
您的onmax()将是当GDK_WINDOW_STATE_MAXIMIZED变为TRUE时调用的处理程序。
看见
及
及
很抱歉,如果不实际编写代码,就无法提供更多帮助。谷歌可能有一些很好的例子,但也可能没有。实际上有什么文档是为那些已经可以做GTK+信号的人准备的
编辑:我使用C语言编写GTK+,我引用的页面是C语言的
编辑#2:无论何时发送信号,都会执行处理程序(回调),重要的是信号数据。我可能会对我感兴趣的每个信号数据值进行切换:case,并可能为其他函数设置一个标志,以便以后读取 @Pedro77可能是因为我在使用GTK???我什么时候问C++的?谢谢。没问题,如果是C,就像我之前说过的。我只是想知道怎么做。
Resize += delegate() {
if (isMaximised()) property=true; else property = false;};
gtk_window_on_maximise(GTK_WINDOW(mwin),onmax);
void onmax()
{
if (gtk_window_is_max(GTK_WINDOW(mwin))
gtk_window_set_property(GTK_WINDOW(mwin),true);
else gtk_window_set_property(GTK_WINDOW(mwin),false);
}