从表单 c# 向控件用户发送参数,visual Studio
Sending parameters to a control user from a form c#,visual Studio
我正在尝试从我的主窗体使用我的控制用户的功能,我的代码是下一个:
chatbox bbl = new bunifchat.chatbox();
bbl.sendmessage("a");
chatbox 是我的控制用户,我正在尝试使用函数 sendmessage 发送字符串,但没有任何反应。
这是我控制用户中的功能:
public void sendmessage(String message)
{
bubble bbl = new bunifchat.bubble(message);//this is another control user
bbl.Location = bubble1.Location;
bbl.Size = bubble1.Size;
bbl.Anchor = bubble1.Anchor;
bbl.Top = bbl_old.Bottom + 10;
panel2.Controls.Add(bbl);
panel2.VerticalScroll.Value = panel2.VerticalScroll.Maximum;
bbl_old = bbl;
}
首先您需要确保您使用的是正确的控件。
chatbox bbl = new bunifchat.chatbox();
bbl.sendmessage("a");
这将创建一个新的聊天框对象并在其上调用一个方法。但是,除非这个实际对象被添加到您的主窗体的控件中,否则它不是 UI 的一部分,并且不会发生任何事情。您可能希望将 Chatbox 控件添加到设计器中的表单,为其命名,然后只调用该对象的方法:
myChatbox.sendmessage("a");
第二个问题是您的发送方法试图通过对接单个控件来模拟列表。这可能会导致问题。更好的解决方案是使用 listView.
第三个问题是sendmessage
没有invalidate the control。有时需要这样做以确保 windows 使用最新更新重绘控件。这可能是由 Control.Add
隐式完成的,但是每当有东西没有显示更新时,我通常会添加一个无效调用并检查是否解决了问题(如果没有解决问题则将其删除)。
我正在尝试从我的主窗体使用我的控制用户的功能,我的代码是下一个:
chatbox bbl = new bunifchat.chatbox();
bbl.sendmessage("a");
chatbox 是我的控制用户,我正在尝试使用函数 sendmessage 发送字符串,但没有任何反应。 这是我控制用户中的功能:
public void sendmessage(String message)
{
bubble bbl = new bunifchat.bubble(message);//this is another control user
bbl.Location = bubble1.Location;
bbl.Size = bubble1.Size;
bbl.Anchor = bubble1.Anchor;
bbl.Top = bbl_old.Bottom + 10;
panel2.Controls.Add(bbl);
panel2.VerticalScroll.Value = panel2.VerticalScroll.Maximum;
bbl_old = bbl;
}
首先您需要确保您使用的是正确的控件。
chatbox bbl = new bunifchat.chatbox();
bbl.sendmessage("a");
这将创建一个新的聊天框对象并在其上调用一个方法。但是,除非这个实际对象被添加到您的主窗体的控件中,否则它不是 UI 的一部分,并且不会发生任何事情。您可能希望将 Chatbox 控件添加到设计器中的表单,为其命名,然后只调用该对象的方法:
myChatbox.sendmessage("a");
第二个问题是您的发送方法试图通过对接单个控件来模拟列表。这可能会导致问题。更好的解决方案是使用 listView.
第三个问题是sendmessage
没有invalidate the control。有时需要这样做以确保 windows 使用最新更新重绘控件。这可能是由 Control.Add
隐式完成的,但是每当有东西没有显示更新时,我通常会添加一个无效调用并检查是否解决了问题(如果没有解决问题则将其删除)。