【问题标题】:Multiple Default Buttons in a User Control用户控件中的多个默认按钮
【发布时间】:2010-01-11 16:37:30
【问题描述】:

我有一个用户控件,它由 3 个文本框、3 个按钮和一个网格视图组成。我可以设置表单的默认按钮属性,但这只会影响一个按钮。

每个文本框/按钮组合都应该有一个行为,当文本框获得焦点时,按 Enter 应该触发其关联的按钮。

为了使问题进一步复杂化,这是在母版页实现中使用的。

有没有办法做到这一点?据我所知,.NET 只允许一个默认按钮 - 它不提供显式关联文本框和按钮。

我欢迎您的见解。

【问题讨论】:

    标签: asp.net user-controls defaultbutton


    【解决方案1】:

    这里有一种方法:

    <form id="form1" runat="server">
    <div>
        <asp:Panel ID="Panel1" DefaultButton="Button1" runat="server">
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
            <asp:Button ID="Button1" runat="server" Text="Button" />
        </asp:Panel>
        <asp:Panel ID="Panel2" DefaultButton="Button2" runat="server">
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
            <asp:Button ID="Button2" runat="server" Text="Button" />
        </asp:Panel>
        <asp:Panel ID="Panel3" DefaultButton="Button3" runat="server">
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
            <asp:Button ID="Button3" runat="server" Text="Button" />
        </asp:Panel>
    </div>
    </form>
    

    【讨论】:

      【解决方案2】:

      尝试为每个 TextBox/Button 集创建一个单独的用户控件。这样每个文本框都会触发它的关联按钮。

      【讨论】:

      • 我明白你的意思,但对我来说这会使页面过于复杂。我还不如让用户点击相关的按钮。反正我现在让他们这样做了。
      【解决方案3】:

      您可以禁用默认按钮并处理文本框的 onKeyPress 事件。

      【讨论】:

        【解决方案4】:

        这是一个使用附加属性的最佳解决方案: http://neilmosafi.blogspot.com/2007/04/default-buttons-in-wpf-and-multiple.html

        只需创建一个带有文章附加属性代码的类并将其添加到控件中,该控件封装了每个 TextBox 和 Button 对。

        示例:&lt;StackPanel ... local:AccessKeyScoper.IsAccessKeyScope="True"&gt; &lt;TextBox ... /&gt; &lt;Button ... /&gt; &lt;/StackPanel&gt;

        注意: 如果将具有 Dependency Property 的文件添加到子目录,则需要使用其他命名空间定义而不是 local:。

        【讨论】:

          猜你喜欢
          • 2017-04-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多