以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 请问,记录窗口中的内容字体怎么更改? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122216)
|
-- 作者:andy-1024
-- 发布时间:2018/7/20 20:52:00
-- 请问,记录窗口中的内容字体怎么更改?
请问老师,记录窗口中的字体如何更改?
此主题相关图片如下:1.jpg
|
-- 作者:有点蓝
-- 发布时间:2018/7/20 21:40:00
--
Dim rg As WinForm.RecordGrid = e.Form.Controls("RecordGrid1") rg.Font = new font("宋体",15) Dim bctr = rg.BaseControl bctr .AutoSizeRows bctr .AutoSizeCols
|
-- 作者:andy-1024
-- 发布时间:2018/7/20 21:57:00
--
可我用的不是记录窗口控件,而是系统快捷键那个记录窗口,是用table.OpenRecordGrid打开的,没有办法定义控件啊
我做了一个复选框,选中则显示记录窗口,取消勾选则隐藏记录窗口:
此主题相关图片如下:2.jpg
[此贴子已经被作者于2018/7/20 21:59:53编辑过]
|
-- 作者:有点蓝
-- 发布时间:2018/7/20 22:26:00
--
For Each a As OBJECT In Tables("表A").grid.parent.controls For Each b As OBJECT In a.controls output.show(b.text) If b.text = "表A" Then Dim bctr = b.controls(0).controls(0) bctr.Font = new font("宋体",15) bctr .AutoSizeRows bctr .AutoSizeCols Exit For End If Next Next
|
-- 作者:andy-1024
-- 发布时间:2018/7/21 3:41:00
--
老师,我不太明白这段是什么意思。我套用了你的代码,改为我自己窗口的控件,代码如下:
Dim t As WinForm.Table = e.Form.Controls("Table1") \'定义 t 为窗口中的表 If e.Sender.Checked = True Then \'如果勾选,则打开记录窗口 t.Table.OpenRecordGrid(250) For Each a As OBJECT In t.Table.grid.parent.controls MessageBox.Show(a.name) \'测试, 输出为 "Table1" For Each b As OBJECT In a.controls MessageBox.Show("1") \'测试, 没有任何输出,连对话框都没有弹出来 output.Show(b.text) If b.text = t.Table.Name Then Dim bctr = b.controls(0).controls(0) \'定义bctr为 什么对象? bctr.Font = new font("tahoma",10) bctr.AutoSizeRows bctr.AutoSizeCols Exit For End If Next Next Else t.Table.CloseRecordGrid() End If
结果和之前是一样的,字体还是没有改变,还应该怎么改呢?
另外,grid属性为什么没有在table的属性列表中?之前从来不知道还有这么一个属性。
|
-- 作者:有点蓝
-- 发布时间:2018/7/21 9:13:00
--
通过主表的名称,而不是窗口表的名称搜索
比如e.Form.Controls("Table1")绑定的是“订单表”
For Each a As OBJECT In Tables("订单表").grid.parent.controls For Each b As OBJECT In a.controls output.show(b.text) If b.text = "订单表" Then ……
|
-- 作者:andy-1024
-- 发布时间:2018/7/22 2:58:00
--
老师好,我的窗口表控件绑定的表名为“L_GoodsInfo”
此主题相关图片如下:3.jpg
代码中也按照你说的改过来了:
If e.Sender.Checked = True Then Tables("L_GoodsInfo").OpenRecordGrid(250) For Each a As OBJECT In Tables("L_GoodsInfo").grid.parent.controls For Each b As OBJECT In a.controls output.Show(b.text) If b.text = "L_GoodsInfo" Then Dim bctr = b.controls(0).controls(0) \'定义bctr为 什么对象? bctr.Font = new font("tahoma",10) bctr.AutoSizeRows bctr.AutoSizeCols Exit For End If Next Next Else Tables("L_GoodsInfo").CloseRecordGrid() End If
但是结果还是那样啊,没有变化
此主题相关图片如下:4.jpg
|
-- 作者:有点甜
-- 发布时间:2018/7/22 17:27:00
--
回复楼上,做个具体的实例发上来测试。
如果你确实无法做到,那你就单独做一个窗口放入【记录窗口】控件去做。
|