Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查Gtk中的窗口是否最大化?_C#_C_Gtk_Gtk# - Fatal编程技术网

C# 如何检查Gtk中的窗口是否最大化?

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#,但欢迎所有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_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);
}