在Windows窗体中,当我将标签控件放置在组框内的Y=0
时,标签会与组框顶部的标题文本相交。
如何获得Groupbox
内的可用区域,即不受框标题文字阻碍的区域?
设置control.Y = groupBox.Padding
。顶部不起作用。 Groupbox.ClientRectangle
也不考虑文本。
编辑:有一个简单的黑客来获得内部矩形:只需在Label
中放置一个GroupBox
,并将其Dock
属性设置为Fill。然后,您可以从Panel获取相关信息(上/下/左/右),或直接使用面板添加您的子控件。
但是,我仍然想知道如何在没有这些黑客的情况下获得这些坐标。
答案 0 :(得分:2)
尝试使用DisplayRectangle属性:
DisplayRectangle属性返回控件显示区域的客户端矩形。对于基本控件类,这等于客户端矩形。但是,如果客户端区域与其显示区域不同,则继承控件可能需要更改此设置。显示矩形是包含控件的最小Rectangle,用于布局控件。
示例:
label1.Location = groupBox1.DisplayRectangle.Location;
答案 1 :(得分:1)