如何在WPF c#中获得多个文本框作为方法的输入参数



我使用的是WPF c# Visual Studio

在我的公共类中有一个方法。我想在一个方法的参数输入中得到许多文本框。该方法将删除长度为0的文本框,如下所示:0123 =>123

这是我的方法

public static void Remove_Zero_atFirst(TextBox TXB2)
{
    TXB2.Text = TXB2.Text.TrimStart('0').Trim();
}

我需要什么当我想使用这个方法时是这样的:

Remove_Zero_atFirst(textbox1,textbox2,textbox3, . . .);

What have I try:

public static class Texchanger
{
     public static void Del_Multi_SepTexs(IEnumerable<TextBox> TXBS)
     {
         TXBS.Text = TXBS.Text.TrimStart('0').Trim();
     }
}

where I try line have error:

does not contain a definition for 'Text' and no accessible extension method 'Text' accepting a first argument of type 'IEnumerable<TextBox>' could be found

您需要传入一个数组,或者通过指定作为最后一个参数来使用变量

params TextBox[] boxes

然后里面…foreach(TextBox/box) {}

这正是params关键字的作用。

Remove_Zero_atFirst(textbox1,textbox2,textbox3, . . .);
public void Remove_Zero_atFirst(params TextBox[] textboxes)
{
    foreach (TextBox item in textboxes)
    {
        item.Text = item.Text.TrimStart('0').Trim();
    }
}

try this:

       public static class Texchanger
        {
            public static void Del_Multi_SepTexs(IEnumerable<TextBox> TXBS)
            {
                foreach (var item in TXBS)
                {
                    item.Text = item.Text.TrimStart('0').Trim();
                }
            }
        }

调用这个方法使用:

var myTextBoxes = new List<TextBox>(){txt1,txt2}; Texchanger.Del_Multi_SepratTexs(myTextBoxes); 

或像这样使用多个参数:

ublic static class Texchanger
    {
        public static void Del_Multi_SepTexs(params TextBox[] TXBS)
        {
            foreach (var item in TXBS)
            {
                item.Text = item.Text.TrimStart('0').Trim();
            }
        }
    }

调用方法:

Texchanger.Del_Multi_SepTexs(txt1,txt2);

最新更新