在SWebUI使用过程中经常会遇到一些问题,在这里,我们就来把问题总结一下。
Ps:1)在项目开发过程中,记得打开日志。运行日志开关打开后,会在项目运行时候,将项目的相关运行信息以日志的形式保存到对应的文件夹中,以便于解决在项目运行过程中遇到的一些问题。设计器日志开关打开后,会在你对页面进行设计以及布局的时候进行保存日志,以便发现以及纠正一些未知的Bug(不知如何打开可查看下面的帖子)。
2)默认情况下,资源文件存放在Bin-Debug-Resources下对应的文件夹中(如图片文件在Debug-Resources-Image)。
1. Designer 安装常见问题
1) 安装时报错(Config vs fail)
如果安装了360安全助手(目前存在误报的情况,已反馈给360),请先关闭,或者考虑安装其它杀毒软件(如火绒)
2) 安装后没有找到SWebUI项目模板(Config vs fail)
在我的文档下有SwebuiInstall.Log,请提供log文件到论坛或QQ群管理员。或者重新安装。
3) 如果新建的项目界面无法打开,如下图:
原因是C++的某个类库没有安装,请安装:vc_redist.x86_2015.exe。
2. 程序中如何实现,页面直接的跳转和页面的关闭?如何先打开窗体,再关闭自身吗?
this.Show(new Form())与this.Form.Close();与this.Show(Form2,(obj,args)=>{this.Close();};
3. 如何退出应用?
this.Client.Exit();
4. 如何修改起始窗体以及运行端口?
修改Progra.cs中的 server.StartUpForm ,例如改成 server.StartUpForm = typeof(demoControls);修改端口例如server.Setting.HttpServerPort = 2328;
5. 在ListView里面放了CheckBox,如何操作每一行的CheckBox?
对ListView进行遍历,在遍历中对CheckBox进行操作。
6. ListView中点击行项,如何获取某个控件的值,传递到另一个页面?
可以直接在点击的时候,直接获取到某个控件的值,如lblState.BindDataValue。
7. ListView如何删除某一行数据?
方法1:ListView1.Rows.Remove(row)
方法2:ListView1.Rows.RemoveAt(RowIndex)
8. SWEBUI如何进行资源的管理?
目前有Resource主要对系统的缓存进行管理。
9. 跳出的提示框:系统从异常中恢复,是怎么回事?
如果抛出异常不处理(没有try catch),系统会捕获这个异常并触发系统重新启动。
10. 能否用SWebForm的静态变量保存客户端信息?
在服务端可以使用 this.Client.Session 用于保存单个Client中的全局变量,在客户端可以在窗体中使用LoadClientData和ReadClientData来保存数据。
11. dump日志在哪里看?
项目 bin\Debug\DeveloperTrace 中查看。