似乎GroupBox只能包含一个元素,如果我放置多个元素,它将不会进入内部(或者在混合中被删除).
这是设计还是我做错了什么?
看看这个非常简单的WPF程序示例:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<GroupBox>
<GroupBox.Header>
<CheckBox Content="Click Here"/>
</GroupBox.Header>
</GroupBox>
</Window>
Run Code Online (Sandbox Code Playgroud)
所以我有一个GroupBox,其标题是一个CheckBox.我们都做过类似的事情 - 通常你绑定GroupBox的内容,以便在取消选中CheckBox时禁用它.
但是,当我运行此应用程序并单击CheckBox时,我发现有时我的鼠标点击被吞下并且CheckBox的状态不会改变.如果我是对的,那就是当我点击GroupBox顶部边框所在的确切像素行时.
有人可以复制这个吗?为什么会发生这种情况,是否有办法绕过它?
编辑:将GroupBox的BorderThickness设置为0可以解决问题,但显然它会删除边框,因此它看起来不再像GroupBox一样.
在JavaFX 2上有类似GroupBox或TitledBorder的东西吗?
谢谢你的提示:-)
我有一个WinForms Form,上面有一些控件.所有这些都是GrouBox控件,我希望它们堆叠,并在它们之间设置垂直边距.我已将Dock属性设置为Top并将它们堆叠好,但忽略了边距(控件尽可能彼此接近).
这些利润率能否以某种方式得到执行?基本上,它会计算常规停靠位置(就好像边距为0)然后应用保证金.这样的事情可能吗?
我已经试过这样做的另一种方法是使用FlowLayoutPanel与TopDown选择.但是,我需要手动设置大小和左/右锚点.
有没有简单的方法来完成这个场景,还是我应该坚持我已经拥有的东西?
在C#.NET中,我试图以编程方式更改组框中边框的颜色.
更新:在我们切换到.NET之前,当我在winforms系统上工作时,问了这个问题.
是不是都做同样的事情?在Windows窗体应用程序中,每种方法与另一种方法有何不同.
由于就VCL而言,TTabSheets不是表单的父级(不想使用动态RTL和其他语言的插件),我必须手动处理调整大小.我这样做如下:
var
ChildHandle : DWORD;
begin
If Assigned(pcMain.ActivePage) Then
begin
ChildHandle := FindWindowEx(pcMain.ActivePage.Handle, 0, 'TfrmPluginForm', nil);
If ChildHandle > 0 Then
begin
SetWindowPos(ChildHandle, 0, 0, 0, pcMain.ActivePage.Width, pcMain.ActivePage.Height, SWP_NOZORDER + SWP_NOACTIVATE + SWP_NOCOPYBITS);
end;
end;
Run Code Online (Sandbox Code Playgroud)现在,我的问题是当应用程序调整大小时,TGroupBox中的所有TGroupBox和TLabel都会闪烁.不在TGroupboxes内的TLabel很好,不会闪烁.
我试过的事情:
有任何想法吗?
很简单,我想有一个没有标题空间的GroupBox
alt text http://www.freeimagehosting.net/uploads/1d3f80b749.png
最接近的是边框,但边框"默认情况下"与组框的样式不同.
获得所需GroupBox的最简单方法(最少xaml /代码)是什么?
谢谢
我在设置组框的边框时遇到了一些麻烦.
我的目标是拥有这样的东西:

但到目前为止,我能得到的是:

我正在使用的样式表:
#groupBox {
border: 1px solid gray;
border-radius: 9px;
}
Run Code Online (Sandbox Code Playgroud) 我想在我的表单上的所有文本框中添加一个事件:
foreach (Control C in this.Controls)
{
if (C.GetType() == typeof(System.Windows.Forms.TextBox))
{
C.TextChanged += new EventHandler(C_TextChanged);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是它们存储在几个组框中,而我的循环看不到它们.我可以单独循环遍历每个组框的控件,但是可以在一个循环中以简单的方式完成所有操作吗?