22.当把DataGrid的Cell内容赋值到Excel的过程中想在DataGrid的CaptionText上显示进度,但不显示。WHY?
...
dataGrid1.CaptionText = "正在导出:" + (row + 1) + "/" + row_cnt;
System.Windows.Forms.Application.DoEvents();
...
处理当前在消息队列中的所有Windows消息。
当运行Windows窗体时,它将创建新窗体,然后该窗体等待处理事件。该窗体在每次处理事件时,均将处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。如果在代码中调用DoEvents,则应用程序可以处理其他事件。
如果从代码中移除DoEvents,那么在按钮的单机事件处理程序执行结束以前,窗体不会重新绘制。通常在循环中使用该方法来处理消息。
23.怎样从Flash调用外部程序,如一个C#编译后生成的.exe?
fscommand("exec", "应用程序.exe");
① 必须把flash发布为.exe
② 必须在flash生成的.exe文件所在目录建一个名为fscommand的子目录,并把要调用的可执行程序拷贝到那里。
24.有没有办法用代码控制DataGrid的上下、左右的滚动?
| dataGrid1.Select(); SendKeys.Send("{PGUP}"); SendKeys.Send("{PGDN}"); SendKeys.Send("{^{LEFT}"); // Ctrl+左方向键 SendKeys.Send("{^{RIGHT}"); // Ctrl+右方向键 |
25.怎样使两个DataGrid绑定两个主从关系的表?
| DataGrid1.DataSource = ds; DataGrid1.DataMember = "母表"; ... DataGrid2.DataSouce = ds; DataGrid2.DataMember = "母表.关系名"; |
26.assembly的版本号怎样才能自动生成?特别是在Console下没有通过VStudio环境编写程序时。
关键是AssemblyInfo.cs里的[assembly: AssemblyVersion("1.0.*")],命令行编译时包含AssemblyInfo.cs
27.怎样建立一个Shared Assembly?
用sn.exe生成一个Strong Name:keyfile.sn,放在源程序目录下
在项目的AssemblyInfo.cs里[assembly: AssemblyKeyFile("..\\..\\keyfile.sn")]
生成dll后,用gacutil /i myDll.dll放进Global Assembly Cach.
28.在Oracle里如何取得某字段第一个字母为大写英文A~Z之间的记录?
select * from table where ascii(substr(字段,1,1)) between ascii('A') and ascii('Z')
29.怎样取得当前Assembly的版本号?
| Process current = Process.GetCurrentProcess(); FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(current.MainModule.FileName); Console.WriteLine(myFileVersionInfo.FileVersion); |
30.怎样制作一个简单的winform安装程序?
① 建一个WinForm应用程序,最最简单的那种。运行。
② 添加新项目->安装和部署项目,‘模板’选择‘安装向导’。
③ 连续二个‘下一步’,在‘选择包括的项目输出’步骤打勾‘主输出来自’,连续两个‘下一步’,‘完成’。
④ 生成。
⑤ 到项目目录下找到Setup.exe(还有一个.msi和.ini文件),执行。

