关于使用Socket开发C/S程序

Sunron128 2006-09-25 09:42:31
我在写一个C/S结构的系统时,是使用Socket编程,将所有的子窗口都写成了用户控件,根据标志动态添加到主窗口的Panel里,但是当数据传回客户端时,这些用户控件都添加不了,代码如下:

主窗口:

private void MenuClicked(object sender, EventArgs e)
{
LinkLabel myMenu = (LinkLabel)sender;

switch (myMenu.Tag)
{
case "DataList":
DataBLL.BLL.MainPanel = this.panMain;
DataBLL.BLL.CurrentPage = 1;
DataBLL.BLL.GetDataList();
break;
..........
}
}

DataBLL Class:

public static class DataBLL
{
private panel mMainPanel = new panel;
private int mCurrentPage = 1;

public panel MainPanel
{
get {return mMainPanel;}
set {mMainPanel = value;}
}
public int CurrentPage
{
get {return mCurrentPage;}
set {mCurrentPage = value;}
}

public void GetDataList()
{
SocketBLL.DataModule sendModule = new SocketBLL.DataModule();

sendModule.DataType = "DataList";
sendModule.ReturnType = "GetData";
.........
SocketBLL.DataSocket.Send(sendModule);
}
}

SocketBLL.DataSocket Class:

public static class DataSocket
{
public static Send(SocketBLL.DataModule sendModule)
{
//发送信息
}
public static ReceiveData(SocketBLL.DataModule sendModule)
{
//接收数据并处理

switch (sendModule.DataType)
{
case "DataList":
if (sendModule.ReturnType == "GetData")
procGetDataList(sendModule);
else
MessageBox.Show(sendModule.ReturnMessage);

break;
.....................
}
}
public static procGetDataList(SocketBLL.DataModule sendModule)
{
DataListForm frmList = new DataListForm();
frmList.DataListTable = sendModule.DataTableList;
frmList.CurrentPage = SocketBLL.CurrentPage;
frmList.MainPanel = SocketBLL.MainPanel;

SocketBLL.MainPanel.Controls.Clear();
SocketBLL.MainPanel.Controls.Add(frmList); <====== 这一句就没有执行了
}
}
...全文
291 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
antoniusguo 2006-09-26
  • 打赏
  • 举报
回复
忒复杂...顶
Csharp110 2006-09-26
  • 打赏
  • 举报
回复
学习中,帮顶!
Michael_Jackson 2006-09-26
  • 打赏
  • 举报
回复
出错信息是什么?
Michael_Jackson 2006-09-26
  • 打赏
  • 举报
回复
应该和socket没多少关系,确认接收到你发的消息了吗?
Sunron128 2006-09-26
  • 打赏
  • 举报
回复
如果我将SocketBLL.DataSocket Class中的处理过程procGetDataList中的内容放到主窗口的MenuClicked中是可以显示,我用DataGridView来显示数据,但是当点击DataGrid时就会好像进入了死循环一样,动不了
Sunron128 2006-09-25
  • 打赏
  • 举报
回复
高手们,不要只有顶啊,也要有帮忙解决的哦。。。。。。
路人霆 2006-09-25
  • 打赏
  • 举报
回复
帮你顶。
fencole 2006-09-25
  • 打赏
  • 举报
回复
up
myminimouse 2006-09-25
  • 打赏
  • 举报
回复
帮顶~
Sunron128 2006-09-25
  • 打赏
  • 举报
回复
有人会知道吗?
Sunron128 2006-09-25
  • 打赏
  • 举报
回复
有点郁闷,难道没有人会吗?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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