C# asp.net中Web窗体的自定义按钮

C# asp.net中Web窗体的自定义按钮,c#,asp.net,C#,Asp.net,我想为我在asp.net中编写的网站制作一些自定义按钮。我很难想出最好的办法 对于这些按钮,我想设计它们的外观。矩形以外的形状是我想要的。我也希望这些按钮的行为像一个正常的按钮会。假设按钮的正常状态版本为红色,然后当我单击按钮时,它会变为黄色,最后当我释放(鼠标按钮向上)时,它会变回红色。我还希望可点击区域与按钮形状相同 我已经看过ImageButtons了,但这不太符合我的要求。我看过用户控件和自定义控件,但我不知道这是否是我想要的。在学校里,我们在我的C sharp课程或asp.net we

我想为我在asp.net中编写的网站制作一些自定义按钮。我很难想出最好的办法

对于这些按钮,我想设计它们的外观。矩形以外的形状是我想要的。我也希望这些按钮的行为像一个正常的按钮会。假设按钮的正常状态版本为红色,然后当我单击按钮时,它会变为黄色,最后当我释放(鼠标按钮向上)时,它会变回红色。我还希望可点击区域与按钮形状相同

我已经看过ImageButtons了,但这不太符合我的要求。我看过用户控件和自定义控件,但我不知道这是否是我想要的。在学校里,我们在我的C sharp课程或asp.net web开发课程中都没有真正讨论过这些特性。大多数似乎符合我要求的东西都是winforms中的演示和示例,而不一定是webforms中的

尝试并实现这一目标的最佳方式是什么?用户控制是一种方式吗?还是有更优雅的方式来实现这一点?非常感谢您的建议。我不需要代码,我只想知道你们认为哪条路最容易


谢谢。

用户或自定义控件是最好的选择。您可以定义HTML、CSS、Javascript、呈现以及控件所需的一切

用户控件是可以在代码隐藏中实现的.ascx文件。它们简单、轻便,但不适合大型项目

自定义控件已编译,如果需要,可以在窗体中拖放它们。这些需要更多的时间,但您可以控制渲染,并且它们在大型项目中运行良好

您可以在此处阅读更多内容:


用户或自定义控件是最佳选择。您可以定义HTML、CSS、Javascript、呈现以及控件所需的一切

用户控件是可以在代码隐藏中实现的.ascx文件。它们简单、轻便,但不适合大型项目

自定义控件已编译,如果需要,可以在窗体中拖放它们。这些需要更多的时间,但您可以控制渲染,并且它们在大型项目中运行良好

您可以在此处阅读更多内容:


至于我,我不会仅仅对样式按钮实施用户控制。相反,我将使用CSS来设置它们的样式,因为CSS重量轻,易于维护

比如说,


.提交{
边框:1px实心#563d7c;
边界半径:5px;
颜色:白色;
填充:5px10px 5px25px;
背景:url(https://i.stack.imgur.com/jDCI4.png) 
左3个顶部5个不重复#563d7c;
}

对于我来说,我不会仅仅对样式按钮实施用户控制。相反,我将使用CSS来设置它们的样式,因为CSS重量轻,易于维护

比如说,


.提交{
边框:1px实心#563d7c;
边界半径:5px;
颜色:白色;
填充:5px10px 5px25px;
背景:url(https://i.stack.imgur.com/jDCI4.png) 
左3个顶部5个不重复#563d7c;
}

您应该创建自定义按钮,仅当您想添加额外的服务器端功能时才继承按钮。如果您只想更改设计部分,请使用css/jquery(或其他javascript库)为按钮添加适当的CssClass。@mybirthname的解决方案就是这样。非常感谢。我看到一个使用CSS作为答案的示例,我将对此进行实验。看起来用户或自定义服务器控件可以工作,但同时看起来更复杂。感谢您为我指明了正确的方向。您应该创建自定义按钮,仅当您希望添加额外的服务器端功能时才继承按钮。如果您只想更改设计部分,请使用css/jquery(或其他javascript库)为按钮添加适当的CssClass。@mybirthname的解决方案就是这样。非常感谢。我看到一个使用CSS作为答案的示例,我将对此进行实验。看起来用户或自定义服务器控件可以工作,但同时看起来更复杂。谢谢你给我指出了正确的方向。谢谢。我会好好玩玩,看看会怎么样。使用CSS的经验越多越好。谢谢。我会好好玩玩,看看会怎么样。使用CSS的经验越多越好。感谢您对用户和自定义控件的输入。我将使用这个解决方案和CSS。我学得越多,我将成为一名更好的开发人员。感谢您的输入。感谢您对用户和自定义控件的输入。我将使用这个解决方案和CSS。我学得越多,我将成为一名更好的开发人员。谢谢你的意见。
<style type="text/css">
    .submit {
        border: 1px solid #563d7c;
        border-radius: 5px;
        color: white;
        padding: 5px 10px 5px 25px;
        background: url(https://i.stack.imgur.com/jDCI4.png) 
            left 3px top 5px no-repeat #563d7c;
    }
</style>

<asp:Button runat="server" ID="Button1" Text="Submit" CssClass="submit" />