-
while (m_isreceiving)
介面卡在 DoEvents 中
你處於乙個無休止的迴圈中!! 它會被卡住的!!
-
介面卡住了嗎? 當時是否還收到資料?
建議使用多執行緒進行資料處理。
-
你好! 如果不關閉串列埠,拔掉串列埠,肯定會有錯誤,所以在傳送資料時可以判斷串列埠是否開啟。
-
沒有這樣的檢測技術,因為雖然不同的外設使用串列埠協議,但是對於不同的輸入,即使外設鏈結,也不一定會有返回資料,而且串列埠本身不具備自檢功能,所以串列埠只能開啟,無法確切知道是否有外設連線, 即使樓上說它不能超時。
-
serialport= new serialport(com, baudrate, parity, databits, stopbits);
然後你就可以做到了。
程式退出時,請務必關閉串列埠。
-
您應該啟動乙個新執行緒,或使用 backgroundworker 來執行介面更新並傳送和接收。
您目前將所有處理都放在乙個主線程中,並且介面更新在這個主線程中,這不可避免地會導致介面凍結。
執行緒的執行等同於過程執行,即順序執行,當操作需要時間時,不可避免地會對介面更新或資料收發產生影響。
您可以通過電子郵件將來源**傳送給我檢視。
-
在 from1 中,將序列埠宣告為靜態變數,例如 public static serialport sp=new serialport();
之後,你可以直接在form2中用它來控制串列埠,至於儲存設定,有很多方法,可以使用登錄檔或者ini(你可以在c中檢查ini的讀寫情況,自己找到),當你在form2開啟串列埠時,先把上面的設定儲存到ini中, 然後開啟它,同樣在 Form2 的載入中,首先閱讀這些設定,然後根據設定分配上面的這些下拉列表。
注意:一般來說,form2 不會啟動序列埠,而是設定序列埠(即將設定寫入 ini),並在 form1 中啟動和停止序列埠(啟動時也會讀取 ini 載入設定)。
-
在樓上,這是不行的,如果你想這樣做,那就是啟動窗體,如果它結束了,所有的窗體都關閉了,所以你在啟動第乙個視窗時隱藏了窗體,然後你啟動了第二個窗體,在第二個窗體中,寫:form1 f1; 在第二種形式中將引數 form1 f1 新增到建構函式中,然後在函式中將引數提供給 f1; f1 = f1;然後,如果登入成功,則可以寫入登入名; 關閉 form2; 所以它可以非常簡單。
-
將設定寫入 txt 檔案,並在下次啟動它們時讀取它們。
它也可以用 INI、XML 等編寫。
-
很奇怪的問題。
對於串列埠,資料接收的速度完全取決於對方的傳送速度。
如果接收部分出現堵塞,則資料可能會丟失且不完整,但不會變慢。
因為發件人不會“配合”你減慢傳送速度。
除非是問答協議,否則速度取決於查詢的頻率,您應該檢查**的那部分。
發現這個問題後還沒研究過怎麼選擇,不知道richTextBox能不能實現,如果只是搜尋應該不難。
引用月份[12][10]; 錯。 如果沒有元素 month[12][10],最多 month[11][9],指標 p 是無用的。 還有刪除所有 +10 級對應的 *。 >>>More
bool f=0;
for(int i=1000;i>=1;我--)從最大的數字 1000 開始,然後嘗試使用較小的數字。 >>>More