我在做一个聊天系统 多线程中接收数据时 让tabpage2的richtextbox控件显示聊天内容,我是这样写的
richtextbox2.text="聊天内容";
tabControl1.SelectedTab = tabPage2;但是当接收到数据后 tabpage2只是获得了焦点 但控件内容全部显示不出来,这到底是怎么回事啊?
richtextbox2.text="聊天内容";
tabControl1.SelectedTab = tabPage2;但是当接收到数据后 tabpage2只是获得了焦点 但控件内容全部显示不出来,这到底是怎么回事啊?
解决方案 »
- 怎样给textbox绑定数据?【急急急】
- KTDictSeg 分词 博弈树解析
- 打印的问题
- 文本框中,怎样判断输入的内容是不是数字?
- 如何把某一菜单的所有项读取到TreeView中
- 调用API中的DeleteService来删除Windows服务时,服务总是标识已禁用,关掉我的程序,删除的服务就消失了
- 求助Visual Studio 2005(winform) 窗体变量传递的问题
- c#跟c有什么关系?
- 哪里有应用于项目管理的软件,要开源的。有多级联动效果(多级网络计划)和甘特图显示进度效果
- 求助——help,如何更新cookie啊
- 求一正则表达式
- winform中 子窗体如何以tab的方式显示在父窗体中
tabControl1.SelectedTab = tabPage2;换下位置试试
很奇快怪的问题哈
{
InitializeComponent();
StartCSocket();
}
private void Main_Load(object sender, EventArgs e)
{
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
}public void StartCSocket()
{ myListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress[] addrIP = Dns.GetHostAddresses("127.0.0.1");
localAddress = addrIP[0];
myListener.Bind(new IPEndPoint(localAddress, port));
myListener.Listen(0);
//Console.WriteLine("开始监听{0}:{1}", localAddress.ToString(), port.ToString());
ThreadStart ts = new ThreadStart(ListenClientConnect);
Thread myThread = new Thread(ts);
myThread.Start();
}private void ListenClientConnect()
{
while (true)
{
Socket newClient;
try
{
newClient = myListener.Accept();
}
catch
{
break;
}
ParameterizedThreadStart pts = new ParameterizedThreadStart(ReceiveData);
Thread threadReceive = new Thread(pts);
User user = new User(newClient);
threadReceive.Start(user);
}
}private void ReceiveData(object obj)
{
Socket client = user.client;
bool normalExit = false;
bool exitWhile = true;
while (exitWhile == true)
{
string receiveString = null;
try
{
receiveString = user.sr.ReadLine();
}
catch
{
Console.WriteLine("接收数据失败");
}
if (receiveString == null)
{
if (normalExit == false)
{
if (client.Connected == true)
{
//Console.WriteLine(string.Format("与{0}失去联系,", client.RemoteEndPoint));
//richTextBox2.AppendText(string.Format("与{0}失去联系,", client.RemoteEndPoint));
}
}
break;
}
string[] splitString = receiveString.Split(',');
richTextBox2.Text = string.Format("{0} {1} 对 您说:{2}", splitString[2].ToString(), splitString[3], splitString[4])+"\r"+richTextBox2.Text;
tabControl1.SelectedTab = tabPage2;//
}
client.Close(); }