以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  界面问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97520)

--  作者:cglsg5076
--  发布时间:2017/3/14 9:19:00
--  界面问题
老师好,我在项目的afteropenproject事件里加入下面的代码,请问为什么不能打开Daily窗口?

Dim PB As WinForm.Panel = Forms("MainWindow").Controls("Panel1")
Forms("Daily").OPEN(-1000,-1500)
Forms("Daily).BaseForm.TopLevel = False
Forms("Daily").BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms("Daily").BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
\'
PB.BaseControl.Controls.Clear
PB.BaseControl.Controls.add(Forms("Daily").BaseForm)\'


--  作者:有点蓝
--  发布时间:2017/3/14 9:33:00
--  
测试没有问题,MainWindow窗口打开了吗
--  作者:cglsg5076
--  发布时间:2017/3/14 10:00:00
--  
MainWindow窗口打开了。我是先打开主窗口的。
--  作者:cglsg5076
--  发布时间:2017/3/14 10:54:00
--  
请问老师,我的程序有很多窗体,程序运行中利用下面的代码频繁打开这些窗体,请问下面的代码频繁的调用是否会造成程序死机?目前我的程序还没有这个现象,但将来使用久了会不会发生死机?


Dim PB As WinForm.Panel = Forms("MainWindow").Controls("Panel1")
Forms("Daily").OPEN(-1000,-1500)
Forms("Daily).BaseForm.TopLevel = False
Forms("Daily").BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms("Daily").BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
\'
PB.BaseControl.Controls.Clear
PB.BaseControl.Controls.add(Forms("Daily").BaseForm)\'

--  作者:有点蓝
--  发布时间:2017/3/14 12:06:00
--  

死机和某个功能的频繁调用没有必然的关系。

 

上面的用法Daily窗口只要是独立窗口就不会有问题

 

任何逻辑的问题都有可能导致死机,发生问题就解决,怕就不要用了


--  作者:cglsg5076
--  发布时间:2017/3/14 12:08:00
--  
谢谢老师
--  作者:cglsg5076
--  发布时间:2017/3/14 19:02:00
--  
请问老师,我用下面的代码设置某个单元格字体的颜色,运行报错,提示没有找到string的公共成员ForeColor,
请问该如何更改。谢谢!

Dim drtimeHSE As DataRow    
drtimeHSE ("Category").ForeColor =Color.Red


--  作者:有点蓝
--  发布时间:2017/3/14 20:14:00
--  
不能直接设置,参考这种用法


--  作者:cglsg5076
--  发布时间:2017/3/15 13:11:00
--  

请问老师,如何删除当前表的空行?下面的代码如何改动?谢谢。

Dim Filter As String
For Each dc As DataCol In DataTables("表名").DataCols
    Filter = Filter & " And " & dc.Name & " Is Null"
Next
Filter = Filter.SubString(5)
DataTables("表名").DeleteFor(Filter) 


--  作者:有点色
--  发布时间:2017/3/15 13:23:00
--  
Dim Filter As String = iif(CurrentTable.filter>"", "(" & CurrentTable.Filter & ")", "1=1")
For Each dc As DataCol In CurrentTable.DataTable.DataCols
    Filter = Filter & " And " & dc.Name & " Is Null"
Next
CurrentTable.DataTable.DeleteFor(Filter)