首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chatbox不工作c#、Visual Studio、Winforms、Bunifu UI

Chatbox不工作c#、Visual Studio、Winforms、Bunifu UI
EN

Stack Overflow用户
提问于 2020-06-27 11:12:03
回答 1查看 95关注 0票数 0

我有一个问题,我一点也不明白,我需要你的帮助…我在聊天中工作,我会用套接字来做,但问题不是这个,我创建了一个控制用户到我的聊天箱…另一个是我的气泡,我试着从我的主窗体中使用这个控件

代码语言:javascript
复制
private void button1_Click_1(object sender, EventArgs e)
        {
            chatbox a = new bunifchat.chatbox();
            
            a.send2message("ABC");

        }

chatbox是我的controlUser的名字,我正在尝试使用他的方法send2message,我知道它可以工作,但并不正确。

代码语言:javascript
复制
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
            
        }

这个方法接收字符串并创建进入其他controlUser的气泡,当我用下面的代码从ControlUser聊天框中运行它时,它起作用:

代码语言:javascript
复制
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;
        }

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

代码语言:javascript
复制
public bubble(String message)
        {
            InitializeComponent();
            
            label1.Text = message;
            Setheight();

        }

如果我说得不清楚,请问,我需要帮助enter image description here

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

EN

回答 1

Stack Overflow用户

发布于 2021-03-13 04:25:55

我将使用套接字完成此操作

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

代码语言:javascript
复制
private bool AddMessage(string msg)
{
    if (this.InvokeRequired)
            return (bool)this.Invoke((Func<string,bool>)AddMessage, msg);
    
    //DO stuff here
    send2message(msg);

    return false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62605442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档