只知道怎么去用Html控件,然后对自定义创建HTml的控件 了解甚少(我个人)
今天偶也来说说 怎么去创建HTml的控件
Ok。。
还是那样 直接进入 例子吧。
这个例子用了 Table 和Button 做为实例,
先是做了个 定行顶列的Table
先建个了 工程
namespace XzySoft.WebHtml
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//页面加载时调用了创建方法
AddTable();
AddButn();
}
/// <summary>
/// 创建Table 控件的方法
/// </summary>
private void AddTable()
{
HtmlTable table = new HtmlTable();//HtmlTable 类是 Table的基类
table.Border = 1;
table.CellPadding = 1;//这里设置了 单元格边框的距离为1
table.CellSpacing = 1;//这里设置了相邻单元格的距离为1
table.BorderColor = "red";//边框颜色
HtmlTableRow row;
HtmlTableCell cell;
//这里设置了 Table的行数和列数
for (int i = 0; i < 5; i++)
{
row = new HtmlTableRow();
row.BgColor = (1 % 2 == 0 ? "yellow" : "cyan");
for (int j = 0; j < 4; j++)
{
cell = new HtmlTableCell();
cell.InnerHtml = "行" + i.ToString() + "</br>" + "列" + j.ToString();
row.Cells.Add(cell);
}
table.Rows.Add(row);
}
this.Controls.Add(table);
}
/// <summary>
/// 这个是创建Button的方法
/// </summary>
public void AddButn()
{
for (int i = 0; i < 3; i++)
{
HtmlButton btn = new HtmlButton();
//这里是Button的一些属性
btn.Style.Add("bgcolor", "red");
btn.Style.Add("backgrounnd", "Yellow");
btn.Style.Add("width", "156px");
btn.Style.Add("height", "189px");
this.Controls.Add(btn);
}
}
这里的例子,可以看出只做了 定行定列的Table,
后来想想不行啊,要是可以手动改变行列,而无需再修改代码是不是好点呢
所以 也就处来了下面的这段代码
protected void Button1_Click(object sender, EventArgs e)
{
tb1.Controls.Clear();
int rows = Int32.Parse(TextBox1.Text.ToString());//接收行的
int cells = Int32.Parse(TextBox2.Text.ToString());//接受列的
for (int row = 1; row <= rows; row++)
{
TableRow newrow = new TableRow();
tb1.Controls.Add(newrow);
for (int col = 1; col < cells; col++)
{
TableCell cell = new TableCell();
cell.Text="当前行列为:("+ row.ToString()+ ",";
cell.Text += col.ToString() + ")";
if (CheckBox1.Checked)
{
cell.BorderStyle = BorderStyle.Inset;
cell.BorderWidth = Unit.Pixel(1);
}
newrow.Controls.Add(cell);
}
}
}
在页面上拖了 一个Table 然后将去内容(既行列)清空,
再在页面上拖了两个 TextBox1 ,一个Button 和 一个CheckBox1
在Button事件里 进行了 指定行列的 创建Table 代码
小弟 我还是说不清楚。。
每次都只能将自己写的 测试代码 复制上去。。
有搞不好像各位大大 那样。。
代码都可以分块。。
真郁闷