簡體   English   中英

從表格 c#,visual Studio 向控制用戶發送參數

[英]Sending parameters to a control user from a form c#,visual Studio

我正在嘗試從我的主窗體中使用我的控制用戶的 function,我的代碼是下一個:

chatbox bbl = new bunifchat.chatbox();
            bbl.sendmessage("a");

chatbox 是我的控制用戶,我正在嘗試使用 function sendmessage 發送字符串但沒有任何反應。 這是我的控制用戶中的 function:

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");

這將創建一個新的聊天框 object 並在其上調用方法。 但是除非這個實際的 object 被添加到主窗體的控件中,否則它不是 UI 的一部分,不會發生任何事情。 您可能希望在設計器中將 Chatbox 控件添加到您的表單中,為其命名,然后調用該 object 上的方法:

myChatbox.sendmessage("a");

第二個問題是您的發送方法試圖通過對接單個控件來模擬列表。 這可能會導致問題。 更好的解決方案是使用listView

第三個問題是sendmessage不會使控件無效 有時需要確保 windows 使用最新更新重繪控件。 這可能是由Control.Add隱式完成的,但是每當有一些東西沒有顯示更新時,我通常會添加一個 invalidate 調用並檢查是否解決了問題(如果它沒有解決問題,則將其刪除)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM