如何在c#中创建一个类来隐藏窗体中的控件

本文关键字:一个 隐藏 窗体 控件 创建 | 更新日期: 2023-09-27 18:28:07

我有一个名为btnEverage的按钮,3个数字上升,3个组合框和3个文本框。现在,我创建了一个类,使控件可见或不可见。例如,如果我单击btnEverage,则应显示/隐藏3个数字向上、3个组合框和3个文本框。但当我把代码放在类中时,比如numericupdown。Show(),它无法识别表单中的任何控件。如何连接它?

类别:

    public void visibile()
    {
         numericupdown.Show(); //this has error because it does not recognize any numericupdown control.
    }

如何在c#中创建一个类来隐藏窗体中的控件

您创建一个完整的类只是为了显示/隐藏一些控件?您可以使用以下方法:

    public static void ShowControl(Control c)
    {
        c.Show();
    }
    public static void HideControl(Control c)
    {
        c.Hide();
    }

或者,如果你想把它放在一个全新的类中(我不推荐)

public static class ControlsUtility
{
    public static void ShowControl(Control c)
    {
        c.Show();
    }
    public static void HideControl(Control c)
    {
        c.Hide();
    }
}

希望能有所帮助。

为什么不在客户端使用jQuery呢?从您的示例来看,没有理由在服务器端这样做。在客户端执行此操作可以实现动态控制,而不需要仅仅为了显示或隐藏控件而返回服务器。你甚至可以很容易地得到一些不错的效果。您只需修改附加到所有控件的类即可。我在下面整理了一个样本,我认为这个样本非常不言自明。它允许您只需一个简短的功能,就可以显示和隐藏您用"饮料"类标记的任何项目
http://jsfiddle.net/dMJds/3/

这是代码:

<script>
    function hideBeverages() {
        $('.beverage').fadeOut(2000);
    };
    function showBeverages() {
        $('.beverage').fadeIn(2000);
    };
</script>
<form>
    <button id="hideBevs" type="button" onclick="hideBeverages()">Hide Beverages</button>
    <button id="showBevs" type="button" onclick="showBeverages()">Show Beverages</button>
    <hr />
    <div class="beverage">
        <h4>Beverage Order</h4>
        <input id="qtyMilk" type="text" /><label for="qtyMilk">Milk</label><br />
        <input id="qtyCoffee" type="text" /><label for="qtyMilk">Coffee</label>
    </div>
    <div>
        <h4>Foods</h4>
        <ul>
            <li class="beverage">Tea</li>
            <li class="produce">Apples</li>
            <li class="beverage">Water</li>
            <li class="produce">Oranges</li>
        </ul>
    </div>
</form>