c#winform 程序点进下图代码所在界面程序就卡死了怎么办?

没有错误提示,程序未响应,界面也出来不了,想知道哪里错了
图片说明

图片说明
图片说明

3个回答

Q7_Aii
Q7_Aii 用线程吗?怎么用?而且这段代码同学都是可以用的
10 个月之前 回复

1.把跟数据库交互的部分放到线程里处理,处理完之后使用invoke()方法更新界面
2.这个代码写的真的不怎么样,冗余度太高了,为什么不把数据库交互的方法单独封装成一个工具类调用呢?

Q7_Aii
Q7_Aii 谢谢,我会改进的
10 个月之前 回复

首先看一下打断点是否能发现那里卡死的情况。或者你可以通过任务管理器中详细信息里面右键卡死进程查看等待分析链来确认是不是线程导致卡死
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
网络异常中断,程序就卡死了?
现在做的是c/s的. 连接时很好,一旦一方断开, 就会卡死. 查了下. 原来一直有个 send()在发送东西. 我已经做了判断rn[code=C/C++]if( lisSocket->Send( &msg, sizeof( NETMSG ) ) == SOCKET_ERROR )rn rn lisSocket->Close();rn delete lisSocket;rn lisSocket = NULL;rn [/code]rnrn而且这个send()是一直在发,所以程序就卡死了, 我不理解,这是为什么?
程序死了以后,怎么办!?
程序死了以后,用任务管理器关了后,系统托盘区里的图标都没了。可是里面的程序还在运行,请问这是怎么回事!!怎么样能调出那些程序!!
界面卡死了,怎么弄
一个函数用来计算,将计算的值通过委托显示在主窗体上,现在代码能够运行界面卡死了,怎么弄rn计算函数代码rn[code=csharp]namespace WindowsFormsApplication9rnrn public static class tjddrn rn public static event Action updatec;rn public static int value get; set; rnrn /// rn /// 自动计算函数,将计算的值通过updatec输出到主窗体rn /// rn public static void start()rn rn int i = 0;rn while (true)rn rn value = i * 9;rn updatec(value);rn Thread.Sleep(1000);rn i++;rn rn rn rn[/code]rnrn主窗体代码rn[code=csharp] public partial class Form1 : Formrn rn public Form1()rn rn Control.CheckForIllegalCrossThreadCalls = false;rn InitializeComponent();rn tjdd.updatec += show;rn rnrn void show(int i) rn textBox1.Text = i.ToString(); rn rn private void button1_Click(object sender, EventArgs e)rn rn tjdd.start(); rn rn [/code]
21点c#winform程序【blackjack】
简单的21点游戏代码,c#winform程序。课堂实验的代码,实现了简单的21点游戏规则,下注,发牌,判断输赢。
StretchBlt导致程序卡死了。
程序里别的窗口都可以正常打印的,唯独有一个窗口,在调用PrinterDC->StretchBlt的时候卡死了,代码不再往下走了。rnCDC *pDC = CDC::FromHandle(dlgPrint.CreatePrinterDC());rn............rnpDC->StretchBlt(iOffset_X, iOffset_Y, iBitMap_X, iBitMap_Y,&dcMemory,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);rnrn坐标以及宽高值都是对的。rnrn求各位指导!
saveFileDialog一点程序就死了
功能是实现导出Excel,运行到if (saveFileDialog1.ShowDialog() == DialogResult.OK)这句的时候,程序就没有了响应,对话框也不会弹出来。一点导出按钮,程序就假死,只能重新运行。对saveFileDialog1.ShowDialog() 添加监视,结果说计算超时。。到底怎么回事啊,同样的代码,以前都能用的。rnrn[code=csharp]rn private void simpleButton2_Click(object sender, EventArgs e)rn rn rn if (gridView1.RowCount > 0)rn rn saveFileDialog1.Title = "导出汇总数据到Excel";rn //saveFileDialog1.FileName = "铁水汇总数据" + DateTime.Parse(dateEdit1.Text).ToString("yyyymmdd");rn saveFileDialog1.Filter = "Excel文件(.xls)|*.xls";rnrn if (saveFileDialog1.ShowDialog() == DialogResult.OK)rn gridControl1.ExportToXls(saveFileDialog1.FileName);rn elsern MessageBox.Show("导出汇总数据失败!");rnrn rn elsern rn MessageBox.Show("汇总报表无数据!");rn rn rn[/code]
C#错误“未能计算表达式的值”,程序卡死了怎么办
.............rnusing Microsoft.DirectX.DirectSound;rnusing Microsoft.DirectX;rn..............rnrnpublic partial class Form1:Formrnrn private Capture capture;//捕捉设备对象rn private CaptureBuffer capturebufferl;//捕捉缓冲区rn................rnrn单步执行的时候监视capture,capturebufferl这两个变量,他们的值显示“未能计算表达式的值”,只要执行含有这两个变量的函数就会卡死。rn另外在定义时直接给变量赋值private Capture capture = null;程序一跑就卡死。rnrn哪位大神帮忙看一下rn
C++ 测试连接数据库,失败程序就卡死了
有没有办法让它连接失败立即返回连接失败?
C#WinForm程序
C#WinForm程序,用到了Excel.dll库文件,我每次调用Excel.dll文件时,都会产生一个 Excel.exe的进程,请问是怎么回事?
C#Winform程序中的文本框无法显示中文,怎么办
如题,C#Winform程序中的文本框无法显示中文,怎么办
程序的入口点代码
程序的入口点代码,使您的破解软件更家高效率
界面代码程序
通过设置线型,在界面上输出线型,并可以设置线型大小。
在C#winform中如何画下图
![图片说明](https://img-ask.csdn.net/upload/201510/04/1443965163_473693.jpg)
为什么程序到这里就死了呢?
客户端rn[code=c]CSocket sockRecv;rn sockRecv.Create();rn while(!sockRecv.Connect(dlg->m_ipaddr,4040))rn rn if(bStop)rn rn sockRecv.Close();rn return -1;rn rn Sleep(50);rn rn rn //判断文件是否被占用,等待打开rn while(bOpen)rn rn Sleep(500);rn rn bOpen=TRUE;rn //接收车牌号rn DWORD dwTemp=0;rn dwTemp=0;rn sockRecv.AsyncSelect(0);rn sockRecv.IOCtl(FIONBIO,&dwTemp);//变为阻塞方式rn char Num[16]=0;rn sockRecv.Receive(Num,sizeof(Num));[/code]rnrn服务端rn[code=c]CSocket sockTemp;rn CString str,str1;rn sockTemp.Create(4040);rn sockTemp.Listen();rn CSocket sockSend;rn bRead=FALSE;rn sockTemp.Accept(sockSend);rn BOOL bSend;rn while(bOpen)rn rn Sleep(500);rn rn bOpen=TRUE;rn //发送车牌号码rn DWORD dwTemp=0;rn BOOL bTest =sockSend.AsyncSelect(0);//由于CSocket实际是异步,将它变为同步(阻塞)方式。rn sockSend.IOCtl( FIONBIO, &dwTemp);//用IOCtl要将AsyncSelect的第一个参数为0,参看MSDNrn char* num=dlg->m_strCarNum.GetBuffer(0);rn sockSend.Send(num,16);[/code]rnrn程序在客户端接收那里就死了,怎么解决呢?
删除指针后,程序就死了
先上代码[code=C/C++]UINT ReceiveThreadFunc(LPVOID lparam)rnrn parmStruct* cs = (parmStruct*)lparam;rn SOCKET soc = (cs->cons);rn CCITICServerDlg * dialog = cs->ps->mdlg;rn char rcvBuf[1024] = '\0';rn int i=0;rn APIController *myAPI = new APIController(soc, cs->ps);rn CString broke = cs->ps->getController()->getBrokerID();rn myAPI->Initial(broke.GetBuffer());rn broke.ReleaseBuffer();rn map mycontainer;rn BOOL isLogon = FALSE;rn while(0 <= recv(soc,rcvBuf, sizeof(rcvBuf), 0))rn rn //if (rcvBuf[0]!=LogonReq&&!myAPI->getIfConnectToCTPServer())rn //rn // NotInWorkingTimeMessage * ntm = new NotInWorkingTimeMessage();rn // myAPI->sendMessage(ntm->getString(),ntm->getLength());rn // delete ntm;rn // ntm = NULL;rn // continue;rn //rn if(rcvBuf[0]!=LogonReq)rn rn if (!myAPI->getIfConnectToCTPServer())rn rn NotInWorkingTimeMessage * ntm = new NotInWorkingTimeMessage();rn myAPI->sendMessage(ntm->getString(),ntm->getLength());rn if(ntm!=NULL)rn rn delete ntm;rn ntm = NULL;rn rn continue;rn rn rn if (!myAPI->getIfConnectToCTPServer())rn rn NotInWorkingTimeMessage * ntm = new NotInWorkingTimeMessage();rn myAPI->sendMessage(ntm->getString(),ntm->getLength());rn if(ntm!=NULL)rn rn delete ntm;rn ntm = NULL;rn rn continue;rn rn CString tmp = rcvBuf;rn switch(rcvBuf[0])rn rn case MoneyReq:rn break;rn case TradeReq:rn break;rn case HistoryTradeReq:rn rn myAPI->getController()->getDlg()->WriteLog("收到历史成交信息请求");rn if (isLogon==FALSE)rn rnrn rn char Account[16]=0;rn char Password[41]=0;rn char date[9] = 0;rn char date1[9] = 0;rn int i =2 ;rn for (int j =0;jsendHisTrade(date,date1);rn rn break;rn case PositionReq:rn break;rn case MarketReq:rn break;rn case SettlementReq:rn rn char Account[16]=0;rn char Password[41]=0;rn char date[9] = 0;rn int i =2 ;rn for (int j =0;jgetSettlementMessage(tmp);rn rn break;rn case gtRealTimeReq:rn myAPI->getController()->getDlg()->WriteLog("收到实时信息请求");rn AfxBeginThread(SendMarketDataThreadFunc,myAPI);rn AfxBeginThread(SendTradeDataThreadFunc,myAPI);rn AfxBeginThread(SendPositionDataThreadFunc,myAPI);rn AfxBeginThread(SendMoneyDataThreadFunc,myAPI);rn break;rn case LogonReq:rn rn myAPI->getController()->getDlg()->WriteLog("收到登录请求");rn char Account[16]=0;rn char Password[41]=0;rn int i=2;rn for (int j =0;jLogin(Account,Password);rn rn rn break;rn case LogoutReq:rn break;rn case errorInfor:rn break;rn default:rn break;rn rn memset(rcvBuf,0x00,1024);rn rn closesocket(soc);rn myAPI->getController()->RemoveSocket(soc);rn if(lparam!=NULL)rn rn delete lparam;rn lparam = NULL;rn rn if (myAPI!=NULL)rn rn myAPI->Release();rn delete myAPI;rn myAPI = NULL;rn rn return 0;rn[/code]rn下面这段是上面代码中的,这列我调用了delete ntm 后,程序就死了,我使用的是Debug模式,单步调试的,到这里就程序就死了,上面的代码是在一个Thread中,我用的是VS2010,MFC编程,裸socket,我想知道为什么程序会死rnif(rcvBuf[0]!=LogonReq)rn rn if (!myAPI->getIfConnectToCTPServer())rn rn NotInWorkingTimeMessage * ntm = new NotInWorkingTimeMessage();rn myAPI->sendMessage(ntm->getString(),ntm->getLength());rn if(ntm!=NULL)rn rn delete ntm;rn ntm = NULL;rn rn continue;rn rn
视图重画的话程序就死了
切分了三个视图, 第二个视图中用CreateWindow创建一个static用来显示摄像机画面, 当该视图重画(比如拉动视图界线改变其大小)时就会使程序死在那.哪位老大拉兄弟一把, 给点提示也行, 谢谢.rn
动态加载DLL 运行程序就死了
/*-------------------------------FDLL.h-------------------*/rn#include rn#ifdef __cplusplusrn#define EXPORT extern "C" __declspec (dllexport)BOOL CALLBACK EdrCenterText (HDC, PRECT, PCSTR) ;rn#define EXPORT __declspec (dllexport)rn#endifrnrnEXPORT BOOL CALLBACK EdrCenterTextA (HDC, PRECT, PCSTR) ;rnEXPORT BOOL CALLBACK EdrCenterTextW (HDC, PRECT, PCWSTR) ;rnrn#ifdef UNICODErn#define EdrCenterText EdrCenterTextWrn#elsern#define EdrCenterText EdrCenterTextArn#endifrnrn/*-------------------------------FDLL.cpp-------------------*/rnrn#include "FDLL.h"rnrnint WINAPI DllMain ( HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)rnrn return TRUE ;rnrnrnEXPORT BOOL CALLBACK EdrCenterTextA ( HDC hdc, PRECT prc, PCSTR pString)rnrn int iLength ;rn SIZE size ;rnrn iLength = lstrlenA (pString) ;rn GetTextExtentPoint32A (hdc, pString, iLength, &size) ;rn return TextOutA (hdc,( prc->right - prc->left - size.cx) / 2,rn ( prc->bottom - prc->top - size.cy) / 2,rn pString, iLength) ;rnrnrnEXPORT BOOL CALLBACK EdrCenterTextW (HDC hdc, PRECT prc, PCWSTR pString)rnrn int iLength ;rn SIZE size ;rnrn iLength = lstrlenW (pString) ;rn GetTextExtentPoint32W (hdc, pString, iLength, &size) ;rn return TextOutW (hdc, ( prc->right - prc->left - size.cx) / 2,rn ( prc->bottom - prc->top - size.cy) / 2,rn pString, iLength) ;rnrnrnrn/*---------------main.cpp----------------*/rnrnrn....rnrnrn HINSTANCE hLib=NULL;rn PFNTEXT fpBeginPath;rn PAINTSTRUCT ps ;rn HDC hdc;rn RECT rcClient;rn rn rn switch (message)rn rn case WM_PAINT:rn hdc=BeginPaint(hwnd,&ps);rn GetClientRect(hwnd,&rcClient);rn fpBeginPath(hdc,&rcClient,TEXT("Used in the DLL"));rn EndPaint(hwnd,&ps);rn return 0;rn case WM_CREATE:rn hLib=LoadLibrary(TEXT("FDLL.DLL"));rn if(hLib)rn rn fpBeginPath=(PFNTEXT)GetProcAddress(hLib,TEXT("BiginPath"));rn rn elsern rn MessageBox(hwnd,"Can't Open the DLL\"FDLL.DLL\".","Message",MB_OK|MB_ICONERROR);rn DestroyWindow(hwnd);rn rnrnrn case WM_DESTROY:rn if(hLib);rn FreeLibrary(hLib);rnrnrn估计问题 是在获得窗口RECT上 但是不知道怎么搞 高手指教
就一行代码的程序???
学生正在做命令行下的练习,想在winform程序下用C#对汉字进行URL编码rnrnConsole.WriteLine(System.Web.HttpUtility.UrlEncode("爱"));rnrn就这一句代码,为什么输出结果是:%e7%88%b1rn正常的url编码不是只两个%号吗?浏览器里爱的url编码应该是:%B0%AE 呀?UrlEncode函数???请师兄们指点如何在winform程序下用C#对汉字进行URL编码!谢谢!
ros的spin与qt的exec卡死了怎么办
ros的spin与qt的exec卡死了怎么办 对于ros的spin和qt的exec,想必大家并不陌生,这两个都会一直调用回调函数,导致死循环 从而使程序无论遇到ros::spin(),还是 QApplication a(argc,argv); … … a.exec(); 都会导致另一个无法运行。 为此,我们可以考虑在接收ros发来的msg的回调函数内导入QEventLoop这个类,这个作为子事件循...
C#winform界面
我要在winform1的closing事件中将winform2的button1的enable设置为true,请问语句怎么写?
学到as就卡了怎么办呢?
本人学flash也算有段时日了也做了不少的大大小小的动画rn算是对其中基本的工具也用的算熟悉了吧rn不过目前却有两个困惑不知道如何解决rn请达到一定境界的高手们给予指点迷津啊rn首先就是as的学习,真的不知道哪里最需要用它,因为一些简单的命令代码我还是知道的,像什么fscomman,stop.loadmovie,setURL等等拉,平时也常用的rn可是总感觉这里是薄弱的地方,很想好好学学as,可发现很多地方就是直接用as搞一些特效出来,里面一大堆代码,看了就傻,怎么办呢rn另外一点,就是我没有美术基础,手绘水平可想而知啦,所以导入别人的图片用用处理还能应付,真正让自己做画可就犯愁了,如何?还要再学下去吗rn当然热情总是不减的
C#winform生成二维码程序及源码
vs2008C#winform生成二维码程序及源码
C#WinForm打包程序
C#WinForm打包程序 图文结合 一步一步的 菜鸟级别的
c#winform自动升级程序源码
完全独立的升级程序,只需要在你的主程序里启动它。 1,可以按文件单独升级 2,支持增量升级 3,升级目录与主程序目录内容一致,方便配置 4,升级完毕后自动显示相关说明 代码内有很详细的注释。 有单独的代码说明文档。并附联系方式,有不明白的可以联系我
C#winform程序怎么打包
我要在没有.net Framework的机器上运行,那台机器不能上网的情况下,我怎么把自己的Framework环境一起打包进去,就是对方只需要安装就可以了不用下载那种,我要怎么做?求详细的过程
C#winform程序 远程查询问题
做了个winform程序 软件要注册才能使用 我想通过网络进行验证 比如先把"授权码"放在数据库的一张表里 验证查询时如果在表里找不到指定的授权码 提示注册失败... rn这种情况是不是得在编winform代码时就得把数据库的登陆信息写死呀 rn有没有其它更好更安全的网络验证方式??????(不要搞成webform程序了) 多谢
C#winform编写好的程序
C#winform编写好的程序都会有一个*.exe文件 ,不是(WindowsApplication1.vshost)同时 也不是快捷方式的外观 快捷方式安装是可以改变的。还有就是怎么改变*.exe命名下面的文字,我的是番茄花园 别人的怎么是自己公司的名字?
C#Winform程序前景无限
        谈到B/S结构软件相较于C/S结构软件的优点,总有人会说出一大箩筐的。其实,随着Windows操作系统升级到WIn7及后续版本,随着互联网的不断提速,用.net开发的Winform程序与用Java、.net、PHP等开发的B/S结构的软件各有千秋,没有哪个是绝对的优,哪个是绝对的劣。下面我们仅以Windows平台下,以企业管理软件为例对二者作一比较。        第一、从维护工作...
c#Winform日历备注程序
Winform日历备注程序,类似日历上每天备注当天的事件,很方便的查看每个时间段该做什么!
C#winform程序打包详细教程
C#winform程序打包详细教程................一个打包工程建立好以后,点击项目上方,会看到打包工程主要操作的功能项,从左到右依次包括文件系统、注册表项、文件类型编辑、用户界面编辑、自定义操作编辑、和启动条件编辑。................
C#winform程序打包的问题~
做好的winform程序打包以后,放到别的机器上安装,运行后报错rn未能加载文件或程序集System.Windows.Forms.DataVisualizationrn可是这个包放在本地安装后,运行没问题,为什么放到别的机器上就不行呢?rn而且在这个包的安装目录中,有这个dll文件,可怎么就找不到呢?
c#winform 视频直播程序?
类似视频采集程序,视频源是网络地址或本地文件,在WINFORM中缓存起来,然后提供直播服务,就像PPS那种 提供点相关资料!
C#winform程序交流群!
最近发现网上很少有C#WINFORM的交流群 所以自己来创建一个 希望大家多多交流沟通!闲人免入!rn群号:2092111
c#winform程序,商品进销存
c#winform程序,商品进销存,适合收藏
C#WinForm生成二维码程序及源码
C#winform生成二维码程序及源码,QQ扫描可获取内容,经过编码UTF-8。
c#WinForm程序自动升级源码
实现C#winForm程序的自动升级功能,内含使用说明,使用方便简单,功能强大
C#Winform定时执行一段程序
写了一个Winform,需要完成定时采集数据的功能,找到了一个解决办法。 System.Timers.Timer timer = new System.Timers.Timer();timer.Enabled = true;timer.Interval = 1000;//执行间隔时间,单位为毫秒   timer.Start(); timer.Elapsed += new System.Tim
C#Winform程序经常自动关闭。
我写的串口软件在别人电脑上发现经常自动关闭,而且在关闭前没有任何异常,请问各位,这可能是什么原因引起的?由于程序已加密所以不好贴代码,所以就请个位高手谈谈可能是什么原因引起的程序自动关闭。谢谢!
C#winform程序错误问题
RT,不想用那么多try... catchrn能否整个程序只有出错就提示错误原因或直接忽略,而不用每个子程序都加try catchrn
c#winform程序源码
c#winform程序源码
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法