Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Winforms 使WinForm控件显示在所有其他控件的顶部_Winforms_Label_Rect - Fatal编程技术网

Winforms 使WinForm控件显示在所有其他控件的顶部

Winforms 使WinForm控件显示在所有其他控件的顶部,winforms,label,rect,Winforms,Label,Rect,我有一个WinFrom,其中隐藏了所有边界和控制框。在WinForm中有一个RECT()(不是WinFrom控件),该RECT填充整个WinForm 我正在尝试向WinForm添加标签,但我希望标签显示在RECT的顶部。标签显示在WinForm上,但从不在RECT的顶部。我尝试使用以下方法: /*App Runs - Label does not show up*/ _label.Text = "This is the label"; _label.BackColor = Color.Corns

我有一个WinFrom,其中隐藏了所有边界和控制框。在WinForm中有一个RECT()(不是WinFrom控件),该RECT填充整个WinForm

我正在尝试向WinForm添加标签,但我希望标签显示在RECT的顶部。标签显示在WinForm上,但从不在RECT的顶部。我尝试使用以下方法:

/*App Runs - Label does not show up*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_form.Controls.Add(_label);
_form.Controls.SetChildIndex(_label, 0);

/*App Does Not Run*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_form.Controls.SetChildIndex(_label, 0); //trying to set the index before I add the label to the form
_form.Controls.Add(_label);

/*App Runs - Label does not show up*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_label.BringToFront();
_form.Controls.Add(_label);

/*App Runs - Label does not show up*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_form.Controls.Add(_label);
_label.BringToFront();
正如你所看到的,我尝试了很多不同的东西,但没有任何效果。我还尝试在添加RECT之后添加标签,但没有效果。我在添加背景图像时遇到了类似的问题(尽管这里没有提出这个问题)。有人知道一种更有力的方法使标签显示在矩形的顶部吗

此外,由于我正在使用的API和dll,我不能使用RECT或WinForms以外的任何东西。

您可以在标签上使用:

_label.BringToFront();
这将使标签位于表单上Z顺序的前面,因此它应该显示在其他表单元素的顶部

我有一个RECT()(不是WinFrom控件)该RECT填充整个WinForm


“RECT”不是控件,而是定义大小和位置。根据您用来显示背景的内容,这可能不起作用。如果它绘制到整个表单中,它可能会覆盖其他控件,并“屏蔽”它们,无论您对z顺序使用什么。如果没有更多的信息,可能很难提供指导,但您必须确保在“RECT”之后重新绘制标签。

一个“RECT”不是控件,它只是大小的定义。到底是什么在作画?你说的直肠是什么意思?你的意思是你正在画一个长方形?没有标准的C#Rect控件。显示将此矩形放在窗体上的代码。为什么你不把BringToFront应用到你想带到前面的对象——标签上呢?我想你可能是对的,不能在填充矩形的东西上添加。RECT由使用放大API的屏幕放大填充。在我承认失败并转向另一个UI解决方案之前,我只是想得到一些最终的答案。