聊天框不起作用 c#,Visual Studio ,Winforms,Bunifu UI



我有一个完全不明白的问题,我需要你的帮助... 我正在聊天中工作,我会用套接字来做,但问题不在于此, 我在聊天框中创建了一个控制用户...另一个是我的气泡,我正在尝试从我的主窗体使用此控件用户

private void button1_Click_1(object sender, EventArgs e)
{
chatbox a = new bunifchat.chatbox();

a.send2message("ABC");
}

聊天框是我的控件用户的名称,我正在尝试使用他的方法send2message,我知道它可以工作但不正确。

public void send2message(String message)
{
bubble bbl = new bunifchat.bubble(message);
bbl.Location = bubble1.Location; bbl.Left += 100; //add intent
bbl.Size = bubble1.Size;
bbl.Anchor = bubble1.Anchor;
bbl.Top = bbl_old.Bottom + 20;
panel2.Controls.Add(bbl);

//bottom.Top = bbl.Bottom + 50;
bbl_old = bbl;  //safe the last added object

}

此方法接收字符串并创建进入其他控件用户的气泡,当我使用下一个代码从控件用户聊天框运行它时,它起作用:

private void buttonx_Click(object sender, EventArgs e)
{
//panel1.VerticalScroll.Value = panel1.VerticalScroll.Maximum;
String respuesta = txtbox.Text;
sendmessage("hola mundo");
send2message(respuesta);
panel2.VerticalScroll.Value = panel2.VerticalScroll.Maximum;
}

但是如果我从我的主窗体运行它,什么也没发生,我的气泡的代码是这样的:

public bubble(String message)
{
InitializeComponent();

label1.Text = message;
Setheight();
}

如果我没有明确,请询问,我需要帮助 在此处输入图像描述

当我按下按钮 绿色 ,它会产生更多的气泡(蓝色矩形(,但我想从我的主窗体而不是从我的聊天框发送内容。

我会用套接字来做

这是否意味着您使用套接字在与 UI 线程不同的线程上接收数据? 如果是这样,您需要检查 oyu 是否需要在访问/创建新对象之前调用。

private bool AddMessage(string msg)
{
if (this.InvokeRequired)
return (bool)this.Invoke((Func<string,bool>)AddMessage, msg);

//DO stuff here
send2message(msg);
return false;
}

最新更新