当前位置: 首页 > news >正文

免费英文网站建设php mysql开发网站开发

免费英文网站建设,php mysql开发网站开发,网上推销产品的软件,手机app免费下载按照计划,昨天晚上就完成最后的公式自动计算,程序的流程就算完整了,可以正常运行了,一般情况下,是可以完成的。 10点开始干,窗体上放置一个Treeview,然后针对XML对Treeview进行数据绑定&#xf…

  按照计划,昨天晚上就完成最后的公式自动计算,程序的流程就算完整了,可以正常运行了,一般情况下,是可以完成的。

  10点开始干,窗体上放置一个Treeview,然后针对XML对Treeview进行数据绑定,就是根据XML数据初始化Treeview的显示。

  这个前期也做过,很快就完成了。

  做一个调用窗体,放上一个DataGridView,里面显示所有设计XML计算公式的数据行。每个计算结果都对应一个XML数据列,因为计算结果是XML自动计算的结果,后面可能更改计算所以要保留XML的完整内容。

  在DataGridView的单元格双击事件(CellDoubleClick)中进行处理:

        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e){float fField04 = 0;string StrField08Xml = "";//检查双击的单元格,弹出对应的计算窗口if (e.ColumnIndex == dataGridView1.Columns["F04"].Index){StrField08Xml = dataGridView1.Rows[e.RowIndex].Cells["Field08"].Value.ToString();FrmSXKNX Frm1 = new FrmSXKNX(StrField08Xml);DialogResult result = Frm1.ShowDialog();if (result == DialogResult.OK){fField04 = FrmSXKNX.ReturnInfo.fValue;StrField08Xml = FrmSXKNX.ReturnInfo.StrXml;dataGridView1.Rows[e.RowIndex].Cells["Field04"].Value = fField04;dataGridView1.Rows[e.RowIndex].Cells["Field08"].Value = StrField08Xml;}}//其他计算字段的处理//......}

  FrmSXKNX窗体的构造函数:

        public FrmSXKNX(){InitializeComponent();}public FrmSXKNX(string StrXml){InitializeComponent();StrXmlContent= StrXml;InitDataGridView();LoadXMLToTreeView();}

  结果开始让人不胜烦恼的踩坑!!!

  运行,双击DataGridView的列,程序阻塞,卡死,FrmSXKNX窗体根本不显示出来!

  这是什么问题?!

  难道是XML数据不对?数据没有正确的提取?

  检查,XML内容正确,格式也是正确的,XML数据长度13961字节,没问题。

  难道是XML太长了,渲染Treeview的时候用了递归导致程序阻塞?将XML字段数据改小一些,结果还是卡死。

  我将LoadXMLToTreeView();放到一个按钮下执行,构造函数只接收参数,开始竟然可以通过,程序正常了!

  可是这样也不是解决办法,就将LoadXMLToTreeView();放到窗体的Shown事件中,可是程序又卡死了。

  太奇怪了!

  那就使用异步处理:

        private  asyn void FrmSXKNX_Shown(object sender, EventArgs e){await Task.Delay(1000);init();LoadXMLToTreeView();}

  结果程序还是卡死!!!

  是不是窗体FrmSXKNX本身出了问题,检查FrmSXKNX.Designer.cs也没有发现异常,就做一个最简单的调用,结果也是好的。

  那只能是DataGridView的单元格双击事件(CellDoubleClick)有问题了,可是这代码再简单不过了,怎么会有问题?!

  干脆隐藏XML列,双击Field04列后调用FrmSXKNX,结果,程序正常了!!!

  终于明白了,原来是XML列出了问题!!!因为我没有限制XML列为只读,导致双击该列的时候会有编辑提取XML列数据内容并进行编辑的准备,这部分工作比较耗时,所以程序阻塞了。

  这个坑就是以后编辑XML,在DataGridView上最好是隐藏该列,如果要处理这一列,可以放置一个按钮列,或者对应到其他的列进行处理。

  如果一定要绑定鼠标事件,那么可以将该列置为只读,或者减小该字段的大小。

  昨天忽然明白为什么有许多不喜欢Visual Studio的C#,C#的确内涵丰富、功能强大,可是Visual Studio实在不好用,臃肿拉胯甚至远不如VSCode轻巧灵活,比如事件编辑,为了避免代码混乱,可以封装这些编辑,让用户进行事件选择后直接编写代码,至于事件前面的修饰符号可以选择就行了,可以通过在事件前面加图标来显示该事件的编写状态,空的不显示,有代码的显示为一种图标,是继承的显示另外的图标或者颜色,等等。

  这样至少可以避免很多的人为问题,代码看起来也规整,方便追溯。

http://www.yayakq.cn/news/792736/

相关文章:

  • 江苏企业建设网站公司微信平台开发教程
  • 知识产权教育网站建设网站建设企业有哪些内容
  • 备案上个人网站和企业网站的区别湛江做网站
  • 西城区好的网站建设多少钱郑州高考网站建设
  • 电 器建设网站目的及功能定位今天刚刚长沙
  • 郑州企业网站优化公司做一个电商网站
  • 个人手机网站开发app下载安装注册
  • 短连接转换网站开发wordpress h5制作插件
  • 外贸营销型网站建站柳州网站建设数公式大全
  • asp公司网站wordpress最新评论
  • 有什么网站用名字做图片大全中国建筑集团有限公司电话
  • 网站蜘蛛爬行建站模板免费
  • 怎么改网站域名勒流网站建设制作
  • 宜昌便宜做网站铁岭网站seo
  • 招聘网站做沙龙江苏省建设教育协会网站首页
  • 遵义网站建设公司电话网站推广优化方式
  • 企业平台网站建设方案男做基视频网站
  • 网站设计与制作费用城乡建设工程信息网
  • 网站前台模块是什么炫酷wordpress主题
  • 网站备案需要关闭asp做的网站频繁报错 参数错误
  • 用php做电子商务网站给网站底部做友情链接
  • 自己建网站模板食品贸易网站建设案例
  • 做软装平台网站广告发布与制作
  • 专业定制网站建设智能优化蓝色响应式机械类网站
  • 学的专业是编课 网站开发英语翻译石家庄网站外包公司
  • 哪个网站可以做推手120亿营收超120亿
  • 石景山网站seo优化排名网站上线详细步骤
  • 青岛响应式网站开发怎么自己设计wordpress主题
  • 信息门户网站开发合同电脑公司网站管理系统
  • 广西智能网站建设设计成品网站怎样建设