日期:2014-05-17  浏览次数:20469 次

求助帖(共同学习)关于自定义控件
   我想实现一个简单的带有事件的控件
加一                1        
假设 加一  是一个按钮,1是一个label的值 我想实现 单击 加一 然后后边label中的数字自加一。


自定义控件 最终生成的dll  ,注:想在自定义控件中完成事件的实现..
控件 label Control

------解决方案--------------------
你这个用不到事件,因为都在内部进行。

button1_Click()
{
    label1.Text = (int.Parse(label1.Text) + 1).ToString();
}
------解决方案--------------------
你确定要的是WEB的功能?

用户控件就可以

同时注意用JS实现,而不是c#
------解决方案--------------------
 label1.Text = (int.Parse(label1.Text) + 1).ToString();
------解决方案--------------------
定义一个用户控件就可以,原理很简单,拖一个button,一个textbox,然后直接点击按钮,textbox的值+1.然后编译一下,在vs的工具箱会多一个工具,直接拖到你的项目中就可以用了。
------解决方案--------------------
感觉你应该先把什么是b/s程序搞清楚再来弄这些
------解决方案--------------------

using System;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace MyControls
{
public class MyControl : CompositeControl, INamingContainer
{
protected override void CreateChildControls()
{
if (ChildControlsCreated) return;
Controls.Clear();
Label label = new Label() {Text = "1"};
Button btn = new Button() { Text = "加一" };
btn.Click += (s,e)=>
{
label.Text = (int.Parse(label.Text) + 1).ToString();
};
Controls.Add(btn);
Controls.Add(label);
ChildControlsCreated = true;
}
}
}

调用:

<!-- 头部 -->
<%@ Register TagPrefix="myControls" Namespace="MyControls" Assembly="YourAppName" %>