以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [分享]零下一度的点滴心得和学习记录专贴,高手略过 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92805) |
|
-- 作者:蓝才文百 -- 发布时间:2016/11/13 21:01:00 -- [分享]零下一度的点滴心得和学习记录专贴,高手略过 最近学习foxtable有些心得体会,想想干脆开个帖子把这些点滴记录一下,既是笔记,也可与大家分享共勉。 (不定期更新,欢迎也把你的心得回一个:))
[此贴子已经被作者于2016/11/16 10:48:11编辑过]
|
|
-- 作者:蓝才文百 -- 发布时间:2016/11/13 21:08:00 -- 1.关于系统界面风格VisualStyle 我在菜单加上了用户可切换系统界面风格的代码,界面是可以改变了,但是一些窗体的控件似乎不行啊,比如Navbar。 找了资料和论坛,可以这样: \'系统界面风格 VisualStyle = VisualStyleEnum.Office2007Blue \'窗体的界面风格在foxtable代码框里是无法Tab出来的,查了论坛,以下代码可以改变Navbar的风格。 \'都隐藏起来啦,其实这些也是C1各个控件的属性吧 Forms("菜单窗口").Controls("NavBar1").basecontrol.visualstyle = VisualStyleEnum.Office2007Blue |
|
-- 作者:蓝才文百 -- 发布时间:2016/11/13 21:10:00 -- 2.通过代码控制显示记录窗口(RecordGrid) If CurrentTable.RecordGridVisible Then CurrentTable.CloseRecordGrid() Else CurrentTable.OpenRecordGrid() End If e.ToggleButton.Pressed = CurrentTable.RecordGridVisible 这个代码其实就是Foxtable系统菜单上的记录窗口按钮的代码
|
|
-- 作者:蓝才文百 -- 发布时间:2016/11/14 10:44:00 -- 3.系统上的功能区、菜单、配置菜单、文件菜单等等,这些功能,代码如何写?哪里找这些代码? 这个可以新建一个项目(注意,一定要新建一个项目),然后在“菜单设计”,“模板”->“从模板生成”,导入foxtable的系统菜单文件:开发版名称是:System.foxrb,商业版是:system.Ribbon 导入后,你就可以进入菜单设计,找到各个菜单,可以看到代码。 刚才我说一定要新建一个项目,然后按需要把代码复制到你的项目中去,要不然,你要是贸贸然在你的项目中导入菜单模板,然后又不小心删掉一些不需要的菜单,那就惨啦,可能会有N多的错误弹出,你的项目有可能百忙一场(记得按CTRL重新打开项目)。
此主题相关图片如下:导入菜单模板.png |
|
-- 作者:tanjungang -- 发布时间:2016/11/14 16:30:00 -- 朋友说的十分详细,对于新手有指导作用,赞一个 |
|
-- 作者:xiaoyang19862005 -- 发布时间:2016/11/14 17:37:00 -- 还有吗? 还有吗? |
|
-- 作者:蓝才文百 -- 发布时间:2016/11/15 12:38:00 -- 楼上两位好!我会持续更新的。 4.感觉foxtable代码编辑不够酷,可以参考论坛两位高人的帖子,用第三方代码编辑器: blackzhu:Foxtable中调用Notepad++写代码的方法 shanshuizhujian:代码编辑器改造 用Sublime Text 辅助编辑 根据上述帖子,我用Sublime Text 3扩展了Foxtable代码编辑,具体实现方法: 1)当然要先下载Sublime Text 3,并安装。 2)添加内部函数: \'函数名:SublimeTextEdit,代码: \'调用SublimeText编辑器 If FileSys.DirectoryExists(ProjectPath & "Temp") Then Else FileSys.CreateDirectory(ProjectPath & "Temp") End If Dim CodeRichTextBox As Windows.Forms.RichTextBox Dim frm = args(0) If frm.name = "Class197" Then CodeRichTextBox = frm.Controls("SplitContainer1").Panel1.Controls("MyCodeEditor21").Controls("SplitContainer1").Panel1.Controls("SplitContainer2").panel1.controls("Editor") Else CodeRichTextBox = frm.Controls("MyCodeEditor1").Controls("SplitContainer1").Panel1.Controls("SplitContainer2").panel1.controls("Editor") End If FileSys.WriteAllText(ProjectPath & "Temp\\Code.Fox",CodeRichTextBox.Text,False) CodeRichTextBox.SelectAll Dim Proc As New Process Proc.WaitForClose = True Proc.File = "C:\\Program Files\\Sublime Text\\sublime_text.exe" Proc.Arguments = ProjectPath & "Temp\\Code.Fox" Proc.Start Dim CodeStr As String = FileSys.ReadAllText(ProjectPath & "Temp\\Code.Fox") If CodeStr = CodeRichTextBox.Text Then Return Nothing CodeRichTextBox.Text = CodeStr 3)在全局代码中的Default添加代码: \'启动Sublime Text Public Sub SublimeTextEdit_Click(ByVal sender As Object, ByVal e As EventArgs) Functions.Execute("SublimeTextEdit", sender.findform) End Sub 4)在计划管理中新增一个计划,代码如下: Dim frmCodeEditor As Windows.Forms.Form = Windows.Forms.Form.ActiveForm If frmCodeEditor Is Nothing Then Return \'CurrentTable.Current("第一列") = frmCodeEditor.Name If frmCodeEditor.Name <> "Class197" And frmCodeEditor.Name <> "Class260" Then Return If frmCodeEditor.Controls("BtnSublimeTextEdit") IsNot Nothing Then Return Dim tbtn If frmCodeEditor.name = "Class197" Then tbtn = frmCodeEditor.controls("Button5") Else tbtn = frmCodeEditor.controls("btnSQL") End If Dim BtnSublimeTextEdit As New Windows.Forms.Button With (BtnSublimeTextEdit) .Name = "BtnSublimeTextEdit" .Anchor = windows.Forms.AnchorStyles.Left Or windows.Forms.AnchorStyles.Bottom .Top = tbtn.Top .Left = 300 .Width = 90 \'.Size = tbtn.Size .Text = "Sublime Text" AddHandler .Click,AddressOf SublimeTextEdit_Click End With frmCodeEditor.Controls.Add(BtnSublimeTextEdit) 不知道为何,Sublime Text 3打开代码后,颜色无法加亮,变成白色,而如果我单独打开code.fox,是可以正常加亮颜色的,奇怪,哪位知道缘故?欢迎回帖,我补充好。
[此贴子已经被作者于2016/11/15 13:13:40编辑过]
|
|
-- 作者:蓝才文百 -- 发布时间:2016/11/15 16:43:00 -- 5.执行代码时,如何让鼠标显示繁忙的沙漏图标?群友 www.vafs.net-杰儒 提供了答案: e.Sender.BaseControl.Cursor = System.Windows.Forms.Cursors.WaitCursor System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor 执行完了,记得后面鼠标图标改回默认: e.Sender.BaseControl.Cursor = System.Windows.Forms.Cursors.Arrow 参考:
|
|
-- 作者:188802386 -- 发布时间:2016/11/15 17:45:00 -- 不错,学习,感谢分享 |
|
-- 作者:蓝才文百 -- 发布时间:2016/11/21 13:42:00 -- 6.今天碰到一个问题:下拉窗口,我选择后,为何下来列为空?帖子:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=93123&page=1&star=1 原来,用下拉窗口时,不能用表中下拉字段进行赋值,要用特殊的 e.Form.DropDownBox.Value,这个意思应该是当前下拉格子值。
如果说,你的下拉不想一个个拉下选择,想要多选多行,一次性选择相同值,可以扩展一下,这样写就可以一次性给多行选择好值了: \'多选 With Tables("Product") If .BottomPosition > .Position Then For i As Integer = .Position+1 To .BottomPosition Dim r As Row = .Rows(i) r(F2)=strProdType r(F3)= strHGBM Next End If End With [此贴子已经被作者于2016/11/21 14:08:16编辑过]
|