Button2_Click
e.Form.DropDownBox.CloseDropDown() '关闭下拉窗口
窗口1_Click
With e.Form.DropDownBox
If TypeOf e.Sender Is WinForm.RadioButton Then '如果此控件是RadionButton(单选框) .Value = e.Sender.Text .CloseDropDown() End If End With
窗口1_DropDownOpened
Dim Val As String = e.Form.DropdownBox.Text
For Each ctl As WinForm.Control In e.Form.Controls '遍历所有控件
If TypeOf ctl Is WinForm.RadioButton Then '如果此控件是RadionButton(单选框) Dim rdo As WinForm.RadioButton = ctl
If rdo.Text = Val Then '如果此单选框的文本等于下拉组合框的文本 rdo.Checked = True '则选中此单选框 Exit For End If End If Next
窗口2_DropDownOpened
Dim Val As String = e.Form.DropdownBox.Text
For Each ctl As WinForm.Control In e.Form.Controls '遍历所有控件
If TypeOf ctl Is WinForm.RadioButton Then '如果此控件是RadionButton(单选框) Dim rdo As WinForm.RadioButton = ctl
If rdo.Text = Val Then '如果此单选框的文本等于下拉组合框的文本 rdo.Checked = True '则选中此单选框 Exit For End If End If Next
窗口4_DropDownClosed
If e.Selected Then
Dim tx As WinForm.TextBox = e.Form.Controls(\ e.Form.DropDownBox.Value = tx.Value End If
窗口4_DropDownOpened
Dim tx As WinForm.TextBox = e.Form.Controls(\tx.Value = e.Form.DropDownBox.value tx.Select()
自定义函数
26
全局代码
菜单事件
======================================= =====专业报表.Foxdb=====
项目事件
计划管理
表事件
窗口表事件
窗口与控件事件
自定义函数
全局代码
菜单事件
======================================= =====代码优化.foxdb=====
项目事件
BeforeCloseProject
e.SkipSave = True
计划管理
表事件
窗口表事件
窗口与控件事件
窗口1_Button1_Click
Dim st As Date = Date.Now()
Dim dic As New Dictionary(of DataRow, String) Dim drs As List(of DataRow)
For Each dr1 As DataRow In DataTables(\表A\ Dim Filter As String
Filter = \项目 = '\项目\日期 <= #\日期\ dic.Add(dr1, DataTables(\表A\支出)\Next
For Each dr As DataRow In dic.Keys dr(\累计支出\Next
MessageBox.show(\执行时间: \
27
窗口1_Button2_Click
Dim st As Date = Date.Now()
Dim dic As New Dictionary(of DataRow, String) Dim drs As List(of DataRow)
For Each dr1 As DataRow In DataTables(\表A\ Dim dv As Date = dr1(\日期\ Dim sm As Double = 0
drs = DataTables(\表A\项目 = '\项目\日期\ For Each dr2 As DataRow In drs If dr2(\日期\ sm = sm + dr2(\支出\ Else
Exit For End If Next
dic.Add(dr1, sm) Next
For Each dr As DataRow In dic.Keys dr(\累计支出\Next
MessageBox.show(\执行时间: \
窗口1_Button3_Click
Dim st As Date = Date.Now()
Dim drs As List(of DataRow) = DataTables(\表A\项目, 日期\drs(0)(\累计支出\支出\For i As Integer = 1 To drs.Count - 1
If drs(i)(\项目\项目\
drs(i)(\累计支出\累计支出\支出\ Else
drs(i)(\累计支出\支出\ End If Next
MessageBox.Show(\执行时间:\
自定义函数
全局代码
菜单事件
======================================= =====会计科目.foxdb=====
项目事件
计划管理
表事件
窗口表事件
28
窗口与控件事件
窗口1_AfterLoad
Dim tr As WinForm.TreeView = e.Form.Controls(\Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables(\会计科目\tr.StopRedraw() tr.Nodes.Clear
tr.Nodes.Add(\全部\
For Each dr As DataRow In dt.datarows
If dr.IsNull(\科目代码\科目代码\
nd = tr.Nodes.Add(dr(\科目代码\科目代码\科目名称\ Functions.Execute(\ End If Next
tr.ResumeRedraw()
窗口1_TreeView1_NodeMouseDoubleClick
Dim trv As WinForm.TreeView = e.Form.Controls(\If e.Node.Name = \全部\
Tables(\会计科目\Else
Tables(\会计科目\科目代码 Like '\End If
窗口2_AfterLoad
Dim tr As WinForm.TreeView = e.Form.Controls(\
Dim rts() As String = {\全部\资产\负债\权益\成本\损益\Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables(\会计科目\tr.StopRedraw() tr.Nodes.Clear
For Each rt As String In rts tr.Nodes.Add(rt) Next
For Each dr As DataRow In dt.datarows
If dr.IsNull(\科目代码\科目代码\ Dim i As Integer = CInt(dr(\科目代码\
nd = tr.Nodes(i).Nodes.Add(dr(\科目代码\科目代码\科目名称\ Functions.Execute(\ End If Next
tr.ResumeRedraw()
窗口2_TreeView1_NodeMouseDoubleClick
Dim trv As WinForm.TreeView = e.Form.Controls(\If e.Node.Level = 0
If e.Node.Name = \全部\
Tables(\会计科目\ Else
Tables(\会计科目\科目代码 Like '\
29
End If Else
Tables(\会计科目\科目代码 Like '\End If
窗口3_Button1_Click
Forms(\窗口2\Forms(\窗口1\
窗口3_Button2_Click
Forms(\窗口1\Forms(\窗口2\
自定义函数
AddChildren
Dim nd As WinForm.TreeNode = args(0) Dim dt As DataTable = args(1)
For Each dr As DataRow In dt.DataRows Dim km As String = dr(\科目代码\
If km.StartsWith(nd.name) AndAlso km.Length = nd.Name.Length + 2 Then
Dim cd As Winform.TreeNode = nd.Nodes.Add(km,km & \科目名称\ Functions.Execute(\ End If Next
全局代码
菜单事件
======================================= =====传统编辑方式.Foxdb=====
项目事件
AfterOpenProject
MessageBox.Show(\提示: 双击行打开编辑窗口!\提示\
计划管理
表事件
员工_PrepareEdit
e.Cancel = True
员工_DoubleClick
Forms(\编辑窗口\
30