我有一个RichTextBox。最重要的是,我绘制了多个图片框。 Pictureboxes不包含任何图像,但将背景颜色设置为黑色。最初,我将每个图片框的高度设置为与richtextbox的高度相同。但是当我调整richtextbox的大小时,我也希望改变图片框的高度。
我通过监听richtextbox的Resize事件处理程序来完成此操作,在那里我得到了richtextbox的当前高度并相应地更改了picturebox的高度。但问题是,我可以看到图片框越来越大,但后一部分的背景颜色不是设置为黑色,而是设置为白色。我试着通过无效和&更新richtextbox和pictureboxes,但没有任何反应。任何想法???
调整代码段大小:
void tbx_resize(Object sender, EventArgs e)
{
var height = ((RichTextBox)sender).Height;
foreach(PictureBox pic in ((RichTextBox)sender).Controls)
{
pic.Height = height;
pic.Invalidate();
}
((RichTextBox)sender).Invalidate();
}
答案 0 :(得分:3)
我做过这样的事情。
试试这个:
void tbx_resize(Object sender, EventArgs e)
{
int height = ((RichTextBox)sender).Height;
foreach (Control c in this.Controls)
{
if (c is PictureBox)
{
c.Height = height;
}
}
}