Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
C# 在c中,将多个richtextbox的文本居中对齐#_C#_.net_Winforms - Fatal编程技术网

C# 在c中,将多个richtextbox的文本居中对齐#

C# 在c中,将多个richtextbox的文本居中对齐#,c#,.net,winforms,C#,.net,Winforms,我需要对齐多个richtextbox的文本中心 我找到了对齐单个richtextbox的解决方案 例: 我不想为每个文本框都输入这个。 如何使用循环为多个richtextbox执行此操作 您需要创建RichTextBox列表,然后: foreach(richtextbox in list) { t.SelectAll(); t.SelectionAlignment = HorizantalAlignment.Center; } 您还可以使用[this]()帖子收集所有RichTextBox

我需要对齐多个richtextbox的文本中心

我找到了对齐单个richtextbox的解决方案

例:

我不想为每个文本框都输入这个。
如何使用循环为多个richtextbox执行此操作

您需要创建RichTextBox列表,然后:

foreach(richtextbox in list)
{
 t.SelectAll();
 t.SelectionAlignment = HorizantalAlignment.Center;
}

您还可以使用[this]()帖子收集所有RichTextBox:

您需要创建RichTextBox列表,然后:

foreach(richtextbox in list)
{
 t.SelectAll();
 t.SelectionAlignment = HorizantalAlignment.Center;
}

您还可以使用[this]()post收集所有RichTextBox:

您可以查找所有类型为
RichTextBox
的控件,并执行以下操作:

foreach (var thisControl in this.Controls.OfType<RichTextBox>())
{
    thisControl.SelectAll();
    thisControl.SelectionAlignment = HorizontalAlignment.Center;
}
    public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
    {
        var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
        return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
    }
foreach(this.Controls.OfType()中的var thisControl)
{
thisControl.SelectAll();
thisControl.SelectionalAlignment=水平对齐.Center;
}

您可以查找所有类型为
RichTextBox
的控件,然后执行以下操作:

foreach (var thisControl in this.Controls.OfType<RichTextBox>())
{
    thisControl.SelectAll();
    thisControl.SelectionAlignment = HorizontalAlignment.Center;
}
    public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
    {
        var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
        return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
    }
foreach(this.Controls.OfType()中的var thisControl)
{
thisControl.SelectAll();
thisControl.SelectionalAlignment=水平对齐.Center;
}

首先,您需要将表单的所有子控件放到一个列表中,通过更改列表中每个项的必需属性,您的目标就可以实现

您可以使用如下函数获取所有子控件:

foreach (var thisControl in this.Controls.OfType<RichTextBox>())
{
    thisControl.SelectAll();
    thisControl.SelectionAlignment = HorizontalAlignment.Center;
}
    public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
    {
        var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
        return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
    }
公共静态IEnumerable GetChildControls(此控件),其中TControl:Control
{
var children=(control.Controls!=null)?control.Controls.OfType():Enumerable.Empty();
返回children.SelectMany(c=>GetChildControls(c)).Concat(children);
}
您可以获得所有这样的文本框

var richTextBoxes = this.GetChildControls<RichTextBox>();
foreach (RichTextBox rtb in richTextBoxes)
{
   rtb.SelectionAlignment = HorizantalAlignment.Center;
}
var richtextbox=this.GetChildControls();
foreach(RichTextBox中的RichTextBox rtb)
{
rtb.SelectionalAlignment=HorizantalAlignment.Center;
}

考虑到这一点,复制粘贴此代码可能会有语法错误。

首先,您需要将表单的所有子控件放入一个列表中,通过更改列表中每个项的必需属性,您的目标就可以实现

您可以使用如下函数获取所有子控件:

foreach (var thisControl in this.Controls.OfType<RichTextBox>())
{
    thisControl.SelectAll();
    thisControl.SelectionAlignment = HorizontalAlignment.Center;
}
    public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
    {
        var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
        return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
    }
公共静态IEnumerable GetChildControls(此控件),其中TControl:Control
{
var children=(control.Controls!=null)?control.Controls.OfType():Enumerable.Empty();
返回children.SelectMany(c=>GetChildControls(c)).Concat(children);
}
您可以获得所有这样的文本框

var richTextBoxes = this.GetChildControls<RichTextBox>();
foreach (RichTextBox rtb in richTextBoxes)
{
   rtb.SelectionAlignment = HorizantalAlignment.Center;
}
var richtextbox=this.GetChildControls();
foreach(RichTextBox中的RichTextBox rtb)
{
rtb.SelectionalAlignment=HorizantalAlignment.Center;
}

考虑到这一点,复制粘贴这段代码可能有语法错误。

除了CodingYoshi的答案外,如果富文本框没有一个公共父级(即文本框分散在组框、选项卡等上),那么您需要从最上面的公共父级(可能是表单本身)递归要查找RichTextBox,请使用以下技术:


除了CodingYoshi的答案外,如果富文本框没有一个公共父项(即文本框分散在GroupBox、Tab等上),那么您需要使用以下技术从最上面的公共父项(可能是表单本身)递归以查找富文本框:


假设文本框没有一个公共父项(即,在组框、选项卡等上),则需要从最顶端的父项(可能是表单本身)开始。假设文本框没有一个公共父项(即,在组框、选项卡等上),则需要从最顶端的父项(可能是表单本身)开始。