以文本方式查看主题

-  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
--  

回复楼上,做个具体的实例发上来测试。

 

如果你确实无法做到,那你就单独做一个窗口放入【记录窗口】控件去做。