不需要时如何停用方法?

时间:2019-05-24 08:30:12

标签: c# wpf methods textbox

我有WPF数据库应用程序。我的数据库有10个表,但其中一个表具有不同数量的列。我可以使用文本框编辑数据。因此,我提出了一种创建更多文本框的方法。如果我选择具有十列的表,则有十个文本框,但是如果我选择具有较少列的表,则仍然有十个文本框。

除了一个表外,我所有的表都只有两列,因此我在XAML中创建了两个文本框,并在选择了十列表时创建了创建其余列的方法。 这是我的方法的示例:

public void AddTb()
    {
        TextBox tb2 = new TextBox();
        tb2.TextWrapping = TextWrapping.Wrap;
        tb2.Width = 60;
        tb2.Height = 23;
        tb2.Foreground = Brushes.White;
        tb2.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0x36, 0x4d, 0x63));
        tb2.Margin = new Thickness(0, 0, 10, 229);
        Grid.Children.Add(tb2);

    }

这是调用该方法的条件:

string select = this.MySimpleStringProperty;
        if (select == "konzole")
        {
            AddTb();
        }

我的列表:

public string MySimpleStringProperty { get; set; }
        public List<string> MyListProperty { get; set; } = new List<string>() { "konzole", "výrobce", "typ", "platforma", "barva", "edice", "site", "uložiště", "velikost_uložiště", "mechanika" };

2 个答案:

答案 0 :(得分:1)

如果您有一个元素列表,则可以使用AddTb方法维护它,可以维护列表并使用.Any()进行检查

  public void AddTb()
  { 
         if(MySimpleStringProperty != "konzole")
             return;
            TextBox tb2 = new TextBox();
            tb2.TextWrapping = TextWrapping.Wrap;
            tb2.Width = 60;
            tb2.Height = 23;
            tb2.Foreground = Brushes.White;
            tb2.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0x36, 0x4d, 0x63));
            tb2.Margin = new Thickness(0, 0, 10, 229);
            Grid.Children.Add(tb2);

   }

基于评论

List<string> ProperString = new List<string>();//Global
ProperString.Add("konzole");
ProperString.Add("Other Stuff");

 if (!ProperString.Any(x => x == MySimpleStringProperty))
                    return;

U也可以使用.Contains()

答案 1 :(得分:1)

不想再使用TextBoxes时,您需要将其删除。

呼叫Grid.Children.Clear()会删除所有子级。