我看button控件是单个的.我能做个类似组合的GROUPBUTTON控件吗?

rodger_yanglq 2008-10-17 09:41:34
谢谢!
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gouhan02 2008-10-17
  • 打赏
  • 举报
回复
当然可以了,你可以自定义用户控件,一个个把button托进来,然后用EventHandler声明事件的句柄,在要触发的时候,用Raise ...触发就可以了。
Forrest23 2008-10-17
  • 打赏
  • 举报
回复
动态创建控件数组,建立事件

Dim PanelButtons As New Panel
PanelButtons.Dock = DockStyle.Fill

For i As Integer = 0 To 99
Dim btn As New Button
btn.Text = "Student" & (i + 1).ToString()
btn.Tag = "ID_" & i.ToString
btn.Location = New Point((i Mod 10) * btn.Width, (i \ 10) * btn.Height)
AddHandler btn.Click, AddressOf btn_click
PanelButtons.Controls.Add(btn)
Next

Me.Controls.Add(PanelButtons)

'事件
Private Sub btn_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim btn As Button
btn = CType(sender, Button)
MsgBox(String.Format("You click Button # {0}", btn.Tag))
End Sub
bigeyescat 2008-10-17
  • 打赏
  • 举报
回复
是不是想做个像VB6的按钮组?那你就做个自定义组件,拉个空器,代码动态创建按钮,写属性、事件。。。
做好在表单上拖放
lanlan85525 2008-10-17
  • 打赏
  • 举报
回复
自定义控件。。。
Forrest23 2008-10-17
  • 打赏
  • 举报
回复
那你就动态创建button控件吧 想建几个就几个~
蝶恋花雨 2008-10-17
  • 打赏
  • 举报
回复
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using FSSoft.Common;
using System.Reflection;
namespace FSSoft.Web.Controls
{
/// <summary>
/// 按钮WEB控件。
/// </summary>
[DefaultProperty("CssClass"),
ToolboxData("<{0}:CButton runat=server></{0}:CButton>")]
public class CButton : System.Web.UI.WebControls.Button
{
private string css_class=consts_Web_Controls.CButton_CSS;
/// <summary>
/// 应用于该控件的Css类名。
/// </summary>
public override string CssClass
{
get
{
return css_class;
}
set
{
css_class = value;
}
}
private bool useSubmitBehavior = false;
/// <summary>
/// 获取或设置一个布尔值,该值指示 System.Web.UI.WebControls.Button 控件使用客户端浏览器的提交机制还是 ASP.NET回发机制。
/// </summary>
[Themeable(false)]
[DefaultValue(false)]
public override bool UseSubmitBehavior
{
get
{
return useSubmitBehavior;
}
set
{
useSubmitBehavior = value;
}
}
/// <summary>
/// 防止重复点击。
/// </summary>
[DefaultValue("{this.disabled=true;document.forms(0).submit();}")]
[Themeable(false)]
public string AfterOnClientClick
{
get
{
if (UseSubmitBehavior)
return string.Empty;
else
return "{this.disabled=true;document.forms(0).submit();}";
}
}
private ActionType actionType;
/// <summary>
/// 按钮事件类型。
/// </summary>
public ActionType ButtonActionType
{
set
{
actionType=value;
}
get
{
return actionType;
}
}
/// <summary>
/// 属性修改。
/// </summary>
/// <param name="e"></param>
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
base.CssClass=css_class;
base.UseSubmitBehavior = this.UseSubmitBehavior;
base.OnClientClick += this.AfterOnClientClick;
switch(actionType)
{
case ActionType.Reset:
base.Attributes.Add("onclick","ResetForm();");
break;
case ActionType.Return:
base.Attributes.Add("onclick","GoLastPage();");
break;
case ActionType.CloseThis:
base.Attributes.Add("onclick","window.opener=null;window.close();");
break;
}
}
}
}

这个是重写的button

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧