自动添加删除按钮(c#)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ZyjLib.Net;

namespace WindowsApplication32
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}

int iCnt = 0;
private void button1_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.Name = "MyTb" + iCnt.ToString();
tb.Size = new Size(63,21);
tb.Location = new Point(63 * iCnt, 0);
panel1.Controls.Add(tb);
iCnt++;
}

private void button2_Click(object sender, EventArgs e)
{
foreach(Control ct in panel1.Controls )
{
if (ct.Name == "MyTb" + (iCnt - 1).ToString())
{
panel1.Controls.Remove(ct);
iCnt--;
}
}

}

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if (panel2.Controls.Count < numericUpDown1.Value)
{
TextBox tb = new TextBox();
tb.Name = "MyTb" + numericUpDown1.Value.ToString();
tb.Size = new Size(63, 21);
tb.Location = new Point(63 * ((int)numericUpDown1.Value - 1), 0);
panel2.Controls.Add(tb);
}
else
{
foreach (Control ct in panel2.Controls)
{
if (ct.Name == "MyTb" + (numericUpDown1.Value + 1).ToString())
{
panel2.Controls.Remove(ct);
}
}
}
}

private void Form1_Load(object sender, EventArgs e)
{
numericUpDown1_ValueChanged(null,null);
}

MyServer[] myserver;
private void button3_Click(object sender, EventArgs e)
{
button3.Enabled = false;
myserver = new MyServer[panel2.Controls.Count];
for (int i = 0; i < panel2.Controls.Count; i++)
{
TextBox tb = (TextBox)panel2.Controls.Find("MyTb" + (i+1).ToString(), true)[0];
myserver[i] = new MyServer(this,int.Parse(tb.Text));
}
}


}

public class MyServer
{
public SocketTcpSrv server;
Form1 form1;
public MyServer(Form1 form, int Port)
{
form1 = form;
server = new SocketTcpSrv();
server.DataRecv += new TcpRecvEventHandler(server_DataRecv);
server.Open(Port);
}

void server_DataRecv(object sender, EventArgsTcpData e)
{
string str = System.Text.Encoding.Default.GetString(e.Buffer);
form1.richTextBox1.AppendText(e.SocketTcpCon.LocalPort.ToString() + "端口接收" + str);
}
}
}

posted @ 2012-09-02 20:53  雷盼  阅读(434)  评论(0编辑  收藏  举报