在WPF XAML中,WindowStyle可以是None,SingleBorderWindow,ThreeDBorderWindow,ToolWindow.
我自己尝试了这些选项并且也查看了MSDN,但我无法分辨ThreeDBorderWindow和SingleBorderWindow之间的任何差异."ThreeDBorder"看起来就像SingelBorder一样.它们有什么区别?
我想在运行时切换进程的可见性,我有一个Windows窗体应用程序,通过一个进程启动默认隐藏的另一个控制台应用程序但我想允许管理员用户通过复选框切换此状态并显示控制台应用程序他们选择.
我有这个,但它不起作用:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
ProcessWindowStyle state = cvarDataServiceProcess.StartInfo.WindowStyle;
if (state == ProcessWindowStyle.Hidden)
cvarDataServiceProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
else if (state == ProcessWindowStyle.Normal)
cvarDataServiceProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
}
Run Code Online (Sandbox Code Playgroud) 我知道Tkinter只是Tcl/Tk的薄层.Tkinter你可以做一些事情来改变windows造型.一个例子是root.attributes('-toolwindow', True).这会将窗口样式更改为工具窗口的样式.但是,我希望降低一点.
我怀疑在某些时候Tcl/Tk引用Windows 窗口样式.我很确定它必须这样做才能设置窗口样式和扩展Tkinter窗口样式.我正在尝试给出一个Tkinter窗口,我非常确定它是WS_DLGFRAME样式.但是,我不确定如何处理这个问题.
我想知道Tkinter的Tcl/Tk部分在哪里分配窗口样式,以及为了获得这种样式我必须添加的内容.
最终目标是获得一个类似下面的Tkinter窗口边框样式(注意它缺少一个退出按钮):

这是在Windows 7,BTW中.
在 VBA 中使用 .Run 启动 .exe 时,典型的调用可能如下所示:
x = wsh.Run(Command:="program.exe ""argument""", WindowStyle:=0, waitonreturn:=False)
Run Code Online (Sandbox Code Playgroud)
理论上哪里windowStyle=0应该导致程序运行对用户不可见。但是,如果 .exe 中出现您不希望用户看到的弹出窗口,该怎么办?
windowStyle 输入不会抑制警告消息或弹出窗口的出现,声明诸如“计算完成”之类的内容向用户显示,这通常也会暂停代码,直到清除弹出窗口。以自动方式清除窗口(即单击“确定”)是微不足道的(请参阅此答案),但事实证明,作为一个相对初学者,阻止它一开始就出现在用户面前是很困难的。(即当弹出窗口由.exe触发时,它对用户来说是不可见的,然后由VBA代码自动关闭)
目前我使用此函数检测是否存在新的弹出窗口(其中 sCaption 是弹出窗口的名称):
Private Function GetHandleFromPartialCaption(ByRef lWnd As Long, ByVal sCaption As String) As Boolean
Dim lhWndP As Long
Dim sStr As String
GetHandleFromPartialCaption = False
lhWndP = FindWindow(vbNullString, vbNullString) 'PARENT WINDOW
Do While lhWndP <> 0
sStr = String(GetWindowTextLength(lhWndP) + 1, Chr$(0))
GetWindowText lhWndP, sStr, Len(sStr)
sStr = Left$(sStr, Len(sStr) - 1)
If InStr(1, sStr, sCaption) > …Run Code Online (Sandbox Code Playgroud) 我有一个关于窗口样式十六进制的问题。
据http://support.microsoft.com/kb/111011/en-us,0x16CF0000包含窗口样式WS_VISIBLE,WS_CLIPSIBLINGS,WS_CLIPCHILDREN,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX,和WS_MAXIMIZEBOX的。
如何检查窗口样式是否存在于窗口样式的组合中?例如,我想检查WS_BORDER(0x00800000)样式是否存在于0x16CF0000中。
我正在尝试 Avalonia UI,我需要一个 ToolWindow。我尝试了不同的方法,但 wpf 等效的 WindowStyle 似乎不受支持。我唯一能做的就是使用“CanResize”,但即使这样也允许通过最大按钮调整大小......“CanResize”意味着至少不应该存在最大按钮,但我可以想象原因争论在这种情况下是否也应该隐藏最小按钮。
我是否忽略了某些事情或者这还没有实施?
我的待办事项列表上的下一件事是启动屏幕(无边框),这属于同一类。有可能吗?