关于QT中子线程接收数据,主线程在lcdnumer上的显示问题

我是在QT中写的客户端,与linux中写的服务器连接,连通时自动在lcdnum上面分别显示温度和湿度。网上的例子也看了很多,但是还是一直出错,具体代码如下,有大牛给个思路吗?

#ifndef MYTHREAD_H
#define MYTHREAD_H

#include
#include
#include
#include
#include

class mythread
{
public:
mythread(QObject * parent = 0);
~mythread();
protected:
void run();
signals:
void temsignal(int);
void humsignal(int);
private:
int number;
};

#endif // MYTHREAD_H

#ifndef DIALOG3_H
#define DIALOG3_H

#include
#include
#include "mythread.h"
#include
#include
namespace Ui {
class Dialog3;
}

class Dialog3 : public QDialog
{
Q_OBJECT

public:
explicit Dialog3(QWidget *parent = 0);
~Dialog3();
private slots:
void lcdnum1set(int);
void lcdnum2set(int);
private:
QLCDNumber *lcdnum1;
//int number;
//void lcdnumset1(int num);
//void lcdnumset2(QString hum2);
private:
Ui::Dialog3 *ui;
mythread *my_thread;
};

#endif // DIALOG3_H

#include "mythread.h"
#include "mytcp.h"
#include
mythread::mythread(QObject *parent)
:QThread(parent)
{

}

mythread::~mythread()
{

}

void mythread::run()
{
qDebug()<<"开始接收温度湿度数据";
int a=1;
int b=2;
int data;
int buff1;
int buff2;
tcpsocket->waitForBytesWritten();
data=tcpsocket->write(a,sizeof(a));
if(data>0)
{
tcpsocket->waitForReadyRead();
tcpsocket->read(buff1);
emit temsignal(buff1);
sleep(1);
}
else
{
qDebug()<<"写数据失败";
}
tcpsocket->waitForBytesWritten();
data=tcpsocket->write(b,sizeof(b));
if(num {
tcpsocket->waitForReadyRead();
tcpsocket->read(buff2);
emit humsignal(buff2);
sleep(1);
}
else
{
qDebug<<"写数据失败";
}
}

#include "dialog3.h"
#include "ui_dialog3.h"
#include "mytcp.h"
#include
#include "mythread.h"
#include

Dialog3::Dialog3(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog3)
{
ui->setupUi(this);
setWindowTitle("用户界面");
my_thread=new mythread();//connect之前需要实例化
connect(my_thread,SIGNAL(temsignal(int)),this,SLOT(lcdnum1set(int)));
connect(my_thread,SIGNAL(humsignal(int)),this,SLOT(lcdnum2set(int)));
//my_thread->start();
}

Dialog3::~Dialog3()
{
delete ui;
}
void Dialog3::lcdnum1set(int num)
{
ui->lcdnum1->display(num);
}
void Dialog3::lcdnum2set(int num)
{
ui->lcdnum2->display(num);
}

2个回答

首先单独测试一下tcp通讯时候正常,然后直接在主线程上跑tcp,测试成功后再用你现在这个思路

qq_39875908
廖shuai本人 通讯是正常的,我在wiget上实现了与服务器的连接,dialog1和dialog2中分别实现注册登陆,dialog3实现温度湿度的实时显示
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
QT中子线程与主线程通讯的方法
子线程可以通过信号量与槽来传递数据给主线程,让主线程更新,下面是一个最简单的例子,界面中只有一个label,主线程中通过movetothread的方法创建了一个子线程,然后子线程中不断触发showNum信号让主线程调用DisplayMsg来更新label。 头文件: class MainWindow : public QMainWindow { Q_OBJECT public: ...
关于ocx中子线程调用主线程的问题
//创建监控线程rnBOOL CTapiAdapter::MyCreateMonitor()rnrn //创建线程rn hd = (HANDLE)_beginthreadex(NULL,0,&FuncCall,this,0,&LpIDThread);rn if(hd==NULL)rn rn AfxMessageBox("创建线程失败");rn return FALSE;rn rn return TRUE;rnrnrn//关闭线程rnBOOL CTapiAdapter::MyRemoveMonitor()rnrn if(hd!=NULL)rn rn SetEvent(hEvent);rn WaitForSingleObject(hd,INFINITE);rn ResetEvent(hEvent);rn if(!CloseHandle(hd))rn AfxMessageBox("关闭线程失败");rn return FALSE;rn elsern AfxMessageBox("关闭线程成功");rn rn rn rn hd=NULL;rnrn return TRUE;rnrnrn然后在子线程函数中rn//监控线程处理函数rnunsigned __stdcall WINAPI FuncCall(LPVOID pParam)rnrnrn CTapiAdapter* apictl = (CTapiAdapter*)pParam; rn rn while(1)rn rn Sleep(1000); //休眠10毫秒rnrn if(WAIT_OBJECT_0 == WaitForSingleObject(hEvent,10))rn break;rn rnrn long retevent = apictl->GetTapiEvent();rnrn if(retevent!=-1)rn rn ...rn rn rn rn return 1;rnrnrn我把这个控件在vb6的程序里面运行。。。结果线程终止的时候发生错误。rn然后我把它在vb6下打包成exe,但每次在子线程中执行GetTapiEvent()就发生错误,查了一下,我的GetTapiEvent里面出现了抛出事件的函数,也就是我的子线程通过apictl来抛事件。是不是这个原因发生错误?rnrn请各位帮忙!rn
在多线程中子线程如何访问主线程的全局变量?
本人以前用VC,最近改用BCB,在用多线程时遇见一个问题,我用File|New创建了一个线程,可是不知道该如何用这个创建的线程去访问主窗口的全局变量,盼高手给与指教
python 多线程中子线程和主线程相互通信
需求:主线程开启了多个线程去干活,每个线程需要完成的时间不同,但是在干完活以后都要通知给主线程下面上代码:#!/usr/bin/python # coding:utf8 ''' 多线程和queue配合使用,实现子线程和主线程相互通信的例子 ''' import threading __author__ = &quot;Kenny.Li&quot; import Queue import time import r...
VC中子线程和主线程有什么区别
我在怀疑是不是大部分WIN API都没有办法在子线程中使用,虽然大部分时间线程的作用感觉都一样,但是一旦涉及一些操作的时候就发现不一样了,但是具体哪里不一样还买搞清楚,望高手指点
Android中子线程是否依赖于主线程的存在
本来是以为的,不过百度了一下后,发现主线程结束了,子线程也可以一直运行。但说什么的都有,想来这里问下各位大佬,还有这方面导致内存泄露的知识,有没有大神讲解下,或者发给我个链接我自己看。。。,还有我想了解下守护线程方面的概念,可以简单说下实现步骤吗?![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/2.gif)![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/2.gif)![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/2.gif)
java多线程中子线程与主线程进行轮换
①子线程执行十次 ② 然后主线程执行五十次  ③ 一二两过程循环20次 package com.tb.Test; public class TraditionalThreadCommunication { public static void main(String[] args) { TraditionalThreadCommunication.init(); }
MFC-DIALOG中子线程如何控制主线程的控件
我现在会创建线程了,我想在子线程中给定一个数值,然后在主线程(UI线程、用户界面)的CEdit控件上输出这个数值,请问怎么通讯?
MFC中子线程如何获得主线程的句柄
MFC中子线程如何获得主线程的句柄?rn谢谢
关于qt主线程和次线程的一点疑惑
最近比较关注qt的多线程。看了http://apps.hi.baidu.com/share/detail/23550552 这篇文章后,才发现自己以前对qt的多线程认识是错的!比如自己写一个qthread子类,除了run()这个函数是在次线程执行的,其它函数都是在主线程被调用的,因为qthread类就是一个qobject,它是在主线程创建的,自然它的那些非run()函数以及各种数据成员都属于主线程。rn 我自己写了个小的测试程序,分别在主线程中实例化QThread子类对象、QObject子类对象、以及一个自己定义的基类对象,然后在这些对象构造函数里分别打印当前的QthreadId。在主线程中定义的对象自然应该和主线程id一致,可是结果却并非如此:rn Object/ObjectNew是我定义的两个继承自QObject类的子类,它们都在各自的构造函数里打印当前线程的id,比如rn[code=C/C++]rnObject::Object(QObject *parent) : rnQObject(parent) rn rn cout<<"obj construct:"<
asp.net中子线程操作主线程控件有问题?
问题情况:rn在子线程执行清算过程之前,对lbLog的操作都正常,但后面的操作无效,跟踪调试却没有问题。rnrn求教高手,为什么会出现这样的问题,有没有解决?rnrn代码如下,页面上就是一个文本框加上一个按钮。rn[code=C#]rnprotected void btnOK_Click(object sender, EventArgs e)rnrn this.btnOK.Enabled = false;rn this.lbLog.Text = DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 清算开始。\r\n");rnrn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 正在取清算步骤... \r\n");rn rn // 取清算步骤rn Thread.sleep(1000); // 模拟长时间的数据库操作,如果没有这个,有时会正常。rn rn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 取清算步骤完成。\r\n");rnrn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 清算线程启动,开始清算。\r\n");rn lock (this)rn rn Thread worker = new Thread(new ThreadStart(DoWork));rn worker.Start();rn rnrnrnprivate void DoWork()rnrn tryrn rn for (int i = 0; i < 5; i++)rn rn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 正在运行清算步骤:") + i.ToString() + "... \r\n";rnrn // 运行清算过程rn rn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 清算步骤:") + i.ToString() + "成功完成。\r\n";rn rn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 清算完成。\r\n");rn rn catch (Exception ex)rn rn this.lbLog.Text += DateTime.Now.ToString("【yyyy-MM-dd hh:mm:ss】 清算过程失败:") + Utility.ErrorParse(ex) + "\r\n";rn rn this.btnOK.Enabled = true;rnrn[/code]
WinForm多线程中子线程修改主线程控件的问题
在子线程中修改(加 Nodes)主线程(创建treeview 的 线程)的treeview时出现错误,rn要求使用Control.Invokern怎么解决?
Qt中子线程之间如何通信
A,B,C分别是3个子线程,C线程要用到A和B线程的处理结果,最后经过C线程处理完之后送到主线程进行显示,可是如何把A和B线程的处理结果传递给C线程呢?我想着开启这三个子线程只能在主线程中,也就是只能在主线程中建立这三个子线程之间的联系,可是我现在要实现C线程和A,B线程之间的通讯该怎么做呢?
关于QT线程的问题
我在后台开了一个线程,针对主窗口的tableView数据更新,每1秒更新一次,程序正常,不过时间一长就会崩溃,不知道是为什么。。。 另外我在线程里面有对数据库的操作,是专门创建的一个链接
线程与主线程的交互问题
在一个搜索文件的界面里,有一组搜索的设置条件,如区分大小写等条件,rn点击搜索按扭,创建一个搜索线程,将搜索到的满足条件的文件放到列表rn框里,这时我想改变搜索策略, 将区分大小写的条件取消,在点击立刻生效的rn按扭,这时我希望看到的是列表框的结果是前一部分是我满足区分大小写条rn件的,后一部分是取消满足区分大小写条件的,请问大家如何实现.rnrnrn
线程发送消息到主线程的问题?
使用线程(多个)发送到主线程,并根据相应的消息,主窗体中的列表中显示不同的内容;rn使用SendMessage或PostMessage时主线程窗体运行正常,但是拖动主窗体时这些线程似乎都不运行了rn请问这是怎么回事,如何解决?rn经测试这些线程并没有结束。
主线程和其他线程问题
如果主线程把它的其他线程创建到其他进程中,rn 当主线程正常退出时,是否回自动是否在其他进程中的线程。rn 如主线程非正常退出,其他进程中的线程回如何呢?
Qt中QThread线程与主线程的数据传送以及lineEdit的显示
最近因为项目的需要,需要qt与C语言的进程间通信,这里表示Qt为A进程,C语言为B进程。 这里采用管道通信。 A进程的线程读取管道,B进程写入管道。 A线程读到char 字符数组中,然后再主线程中lineEdit显示。 遇到一个char 和QString的相互转换 这里给出一个解决办法。 比如A从线程中读到char buffer[1]中,在A主线程中使用   QString str;
QT其他线程和UI主线程通信方式
1:为什么会有这个问题:      其实当我们真正开发一个有实体业务需求的界面软件的时候,就躲不开上面提到的问题——QT其他线程和UI主线程通信。原因是什么,耗时的操作不能再界面ui线程中操作执行,这样会让界面卡死,当然这不仅仅是QT有这个问题,MFC、安卓都是这样的。但现实是你躲不开业务的耗时操作,比如你点击一下按钮,可能按钮对应的底层业务逻辑需要执行一大堆东西,没办法不耗时。当然从另外一个角度...
C#中子线程修改主线程中textBox的内容
在编写小软件的过程中,用到了线程操作。但是其中有一个问题是,创建的子线程想修改主程序的textBox的内容,原先的想法就是在子进程调用的函数中直接修改主程序的textBox属性,但是得到的结果是:程序崩溃。原因是线程间进行了不安全的调用……代码如下:         private void downloadFile()        {            DownloadClass dd
关于主线程概念和线程栈大小问题?
最近在调试一个程序时发现由于线程的栈空间大于windows默认的栈大小1M,导致线程创建失败,从而引起了以下疑惑:rn1.主线程的概念rn据查资料,进程至少存在一个线程,称为主线程,而进程的执行是由main函数里面开始执行的(抛开运行库的入口函数之类的不说),可否认为执行main函数的即为主线程?rn2.线程栈大小rnwindows默认的线程栈大小为1M(当然可以重新设置大小,此处不讨论),哪么此处的线程包括主线程吗?我做了下测试:rn#include rnint main()rnrn char max_test[1024*1024*8]; \\8M空间rn printf("test");rnrn以上程序的8M空间应该是放在栈空间里面的,为何此时不会出错呢?rn通常说深的递归引起栈溢出,于是加了个递归:rnvoid test(int n)rnrn char max_test[1024*1024*500]; \\500M栈空间rn if (n != 0)rn test(n - 1);rn elsern printf("succedd\n");rnrnrnint main()rnrn char max_test[1024*1024*8];rn test(10);rnrn上面的程序没有提示出错,有点疑惑。。。rn应该是我的某些概念理解错了,求各位指点下....
请教一个关于Qt串口接收数据的问题
用的是第三方的串口类,给串口发送一串命令有可能是如下情况:rn[code=C/C++]ADR9;ACR1;CUR12;MCS16;SPD100;STP1000;ENA;[/code]rn每个命令的反馈最多13个字节,读取串口方法为;rn[code=C/C++]rn QByteArray byte = m_Port->readAll();rn[/code]rn有时读回来的数据时完整的,有时读回来的时候可能只有一半,另一半在下一次读回,怎么解决这个问题呢
Qt中子线程操作主界面控件问题
在一个子线程中如何操作主界面的控件,网上说的说法都是什么用信号槽解决什么的?我是个菜鸟,有谁能仔细地写一下吗?槽怎么写,信号怎么写,connect怎么写,怎么发送?不甚感激,我用的开发环境是Qt Creator
QT中子窗体的实现
其实,在QT中,我们建立一个窗体时,会有三种选项,分别为Dialog,MainWidow,Widget。如下图所示: 首先,我们关心的可能是基于Dialog的子窗体的实现子窗体,基于dialog的子窗体实现和VC中的实现基本上没有任何差别,也就是声明一个窗体类型变量然后实例化即可,如下代码: #include &amp;amp;quot;mydialog.h&amp;amp;quot; void Widget::on_pushButton_3_c...
关于水晶报表中子报表显示位置的问题。
我在报表中的 报表尾 区域添加了一张子报表,模板里是放在左边的,但是显示后移位到右边很多……请问该怎么处理啊,刚开始学,还请多多的帮忙,多谢了!rn[img=http://hi.csdn.net/attachment/201011/26/8424889_1290767025ymM2.jpg][/img]rn[img=http://hi.csdn.net/attachment/201011/26/8424889_12907670579Ph4.jpg][/img]
关于Qt 线程多线程的问题
先贴代码rn[code=c]rn class Thread:public QThreadrn rn public slot:rn void onTimeout()rn rn qDebug()<<"Thread::onTimeout get called from :"<
Qt关于GUI线程的问题
本人做了一个项目,主界面后台处理的内容:rn1.接收图片数据(图片有70M)rn2.对图片进行二值化处理rn3.图片显示rn4.其他图片处理后得到的数据显示rnrn每次界面在后台处理的时候界面就卡死的,怎么解决这样的问题?rn是不是需要独立GUI线程,把非GUI线程的处理都写到另一个线程中?又该怎么写?rnQt新手,请大神提点下
关于qt中的线程问题
定义一个Thread类rn[code=c]rnclass Thread:public QThreadrn...rn[/code]rn重载其run方法,在run方法中打印当前线程idrn[code=c]rnvoid Thread::run()rnrn qDebug()<
QT关于线程和信号槽的问题?
我想问:rn1,QT的线程调度有哪些方式?支持时间片轮吗?rnrn2,QT的信号槽效率是不是很低?信号槽的响应时间是不是几十到几百毫秒?如果我想让我的事件响应在几个毫秒内完成该如何实现?
问个线程问题~主线程与自创的线程
代码如下rnpublic class Machine extends Threadrn private int a=0;rn public void run()rn for(a=0;a<10;a++)rn System.out.println(currentThread().getName()+":"+a);rn tryrn sleep(100);rn catch(InterruptedException e)throw new RuntimeException(e);rn rn rn public static void main(String args[])rn Machine machine=new Machine();rn machine.start();rn machine.run();rn rnrn运行结果是:rnmain:0rnThread-0:0//[b]为什么出现两次0了???[/b]rnmain:1rnThread-0:2rnmain:3rnThread-0:4rnmain:5rnThread-0:6rnmain:7rnThread-0:8rnmain:9rnrn疑问就是:[b]为什么会出现两次0,不是两个线程都同时操作同一个实例变量吗?[/b]
UI线程和主线程通信的问题
我在程序中起了一个UI线程,主线程里面有个运算量很大的循环,在循环中,用PostThreadMessage与UI线程通信。问题是,在循环外面用AfxBeginThread起了UI线程后,UI界面却不显示,直到循环中的运算快要结束的时候,它在屏幕上闪了一下就没有了。不知道这是为什么?
主线程 次线程 全局变量的问题
rn 现在有一个主线程,多个次线程;有一个全局链表结构,各个次线程都可能随时修改该全局链表结构中的自己对应的接点,主线程主要是读该全局链表结构.rnrn 在调试时,发现当次线程修改了全局链表结构后,主线程再去读取全局链表结构,发现里面的内容没有反映次线程所做的修改,还是原来的内容,这是怎么回事啊?rn rn 请问各位有没有什么好的办法,在多个线程之间共享变量,并且其中一个线程修改了该变量,要立即在其他线程中体现出来?
采集线程与主线程通信的问题
现在写一个数据采集程序,不断从采集卡读取数据并在窗口的TChart中画图。rn由于以前没用过线程,现提出一个思路,看看对不对。rnrn分别建立采集、画图线程,同时启动。rn采集线程不断从采集卡读取数据,每次读完向画图线程发一个消息告诉它画一个点。rn画图线程处于循环等待状态,收到消息并执行后继续等待。由于采集一个数据的时间明显大于画图的时间,所以画图线程一般都比较空闲,只需要被动等待就行了,在收到下一个消息之前肯定能完成上次的操作。rnrn现在比较困惑用WINAPI和TThread哪个比较好,因为画图线程实际上也许不用写到专门的线程里,只是作为整个窗口线程的一部分接收信息就行了(不知能否用事件响应?),用TThread是不是对VCL组件操作更加方便。关键应该在于采集线程与画图线程的通信的方式,在资料里看到很多但说的都比较模糊,不知道该采取那种思路。
qt在s60上显示问题
我用QT写的程序,安装在手机上后都只有中间的一小部分显示,程序不是满屏显示。rn有谁知道怎么才能像QQ那样直接满屏显示,去掉信号强弱显示和电量显示。rn注:手机S60v3 FP2版
QT网络发送接收数据的问题
客户端向服务端发送自定义的数据比如:[code=c]struct infornchar cmd;rnchar name[10];rnchar pass[10];rnfirst;[/code]rn我发送的时候能直接用tcpclient->write((char*)&first,sizeof(struct info))发送吗?如果能,我在服务端怎么读出来呢?用server->read()来读?实际上就是一个怎么发送以及接受自定义数据的问题。。第一次发帖,还望大神指点。。谢谢了、、由于需要,刚接触QT。。。
Qt线程问题,在主线程中如何控制子线程的执行?
我现在有一个类(媒体播放类),其中有一个阻塞函数,如果直接在UI主线程中调用会阻塞主线程,所以想开一个线程,将这个类的执行过程都放在这个线程中。rn起初UI线程是要调用这个类的一些函数来实现播放的(当然这个类也会提供很多事件和信息。),里面的东西很多,不想动这个类,当放到线程中,我不知道有什么好方法调用这些函数来实现控制。rn我的方法是设置10多个标志,当主线程要控制的时候发信号或者调用其中的函数改变这个标志,在QThread的run函数中循环判断这些标志是不是真,然后调用这个类的函数来实现控制,起初这个方式运行的很好,但是当给同事用的时候,他们挨个的调用了这个类的stop,setMediaFile,open。总是导致莫名其妙的问题,请问在Qt中能有什么好方法能对子线程进行控制,或者怎么解决我的方法里的问题?
线程2--主线程(main线程)
主线程(main线程) 主线程其实就是执行main方法的线程 /*Person类*/ package com.itheima.demo05MainThread; public class Person { private String name; public Person(String name) { this.name = name; } ...
qt下socketcan发送和接收数据问题
qt中socketcan发送和接收数据放在一个线程下还是两个线程 目前用周立功max287操作屏开发板提供的例程,创建一个线程用select阻塞然后read读数据,然后发送数据不知道怎么处理了。是去掉select函数直接把read和write放到同一个线程下循环,还是为发送数据再创建一个线程?如果创建一个线程的话write(fd,sendbuf,&sizeof(sendbuf))怎么调用读线程里面绑定过的套接字描述字符fd?求高人指点方向!!!
qt TCP接收数据遇到的问题
项目负责利用TCP来传输一组大的数据,然后在接收函数里将接收的数组进行解包赋值。 从结果来看发现解包出来的数据都是错误的,几乎都是随机并且好几个值是负无穷。 这里就发现了QT的TCP传输机制,它将我的数据分两次接收,每一次是原来的一半。 例如我传3000字节大小,那么它会拆成两次1500,偶尔会出现2966和44或者一次满包的情况。 随着你传输数据越大,能一
网络接收数据线程终止问题????
各位大侠帮忙啊!!rn我在做网络不断接收数据的代码中,下面的代码是想要断开套接字的连接,同时将接收线程终止(接收的数据是结构体类型)rnvoid CUDPSocket::StopServer() //停止服务器,也就是将端口断开rn if (!m_bAvailable)rn return;rn rn Sleep(1000); rn m_bAuto = FALSE;rn closesocket(m_uSocket);rn m_uSocket = NULL;rnrnBOOL CUDPSocket::StopReceiving() //停止接收数据线程rn if (!m_bAvailable)rn return FALSE;rn rn m_bAuto=FALSE;rn return TRUE;rnrn在对话框的调用中的顺序是:rnm_psockServer->StopServer(); //断开端口rnm_psockServer->StopReceiving(); //停止线程rn但不晓得为什么但调用上面代码时候,程序就不能运行了?? 各位大侠帮忙看下该怎么解决啊??rnrn还有我在接收数据线程的函数中,首先便调用了:memset(strRecv, 0, sizeof(strRecv)); //将缓冲区内的数据清零rn但为什么有时候还是会在对话框上出现乱码,如烫烫烫....
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件