Foxtable(狐表)用户栏目专家坐堂 → panel显示提示信息问题


  共有2850人关注过本帖树形打印复制链接

主题:panel显示提示信息问题

帅哥哟,离线,有人找我吗?
nxqtxwz
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
panel显示提示信息问题  发帖心情 Post By:2020/2/12 11:57:00 [只看该作者]

    老师你好,我想做一个评比项目,有很多的提示信息放在一个信息提示表中,以后提示信息或评比条件有变化,只改变信息表中的信息即可。但如果是一个panel可以,但要是有多个panel怎么办。请老师帮我看看:

1、panel2、panel3、.....panel5对应的提示信息表岗位晋级列1、2、3、4、5条记录怎么显示出来。

2、输入申报人姓名和申报岗位等级后,后面有一些项目内容自动从职工信息总库中提取,但只提取第一条记录的,为什么不是同一个人的。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提示信息显示.zip


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107775 积分:548220 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/12 12:08:00 [只看该作者]

没看懂。panel是一个容器,是无法设置任何文字的。只有文本框才能显示文字


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/2/12 12:37:00 [只看该作者]

以下是引用有点蓝在2020/2/12 12:08:00的发言:
没看懂。panel是一个容器,是无法设置任何文字的。只有文本框才能显示文字

文本框显示的文字不能设置行间距,文字一多真的是无法看清楚。上面的例子是一个panel容器分别显示不同的内容;我想做的是用不同的panel容器分别装不同的内容。

下面的代码怎么改能分别给panel1、panel2、panel3、.....panel5赋值呢?

 

Dim rtxt As New System.Windows.Forms.RichTextBox
UtilsSetLineSpace.SetLineSpace(rtxt, 400)
rtxt.name = "mytxt"
rtxt.Dock = 5
e.Form.Controls("Panel1").BaseControl.Controls.Add(rtxt)
rtxt.Multiline = True

上面的代码弄不懂。

 

 

Dim rtxt = Forms("岗位晋级").Controls("Panel1").basecontrol.Controls("mytxt")
           rtxt.text = Tables("提示信息").Rows(0)("岗位晋级")



 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107775 积分:548220 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/12 13:43:00 [只看该作者]

多段代码重复调用即可

Dim rtxt As New System.Windows.Forms.RichTextBox '新建一个第三方控件,控件的详细属性用法请参考:https://docs.microsoft.com/zh-cn/dotnet/api/System.Windows.Forms.RichTextBox?view=netframework-4.8

UtilsSetLineSpace.SetLineSpace(rtxt, 400) '设置行间距
rtxt.name = "mytxt" '设置控件名称
rtxt.Dock = 5 '设置控件停靠属性
e.Form.Controls("Panel1").BaseControl.Controls.Add(rtxt) '把控件添加入Panel1
rtxt.Multiline = True '控件允许显示多行

Dim rtxt2 As New System.Windows.Forms.RichTextBox
UtilsSetLineSpace.SetLineSpace(rtxt2, 400)
rtxt.name = "mytxt2"
rtxt.Dock = 5
e.Form.Controls("Panel2").BaseControl.Controls.Add(rtxt2)
rtxt2.Multiline = True

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/2/12 14:52:00 [只看该作者]

太好了,问题解决了。谢谢老师。有个问题,就是下面的代码怎么能放在窗口的Afterload事件中呢。

 

Dim rtxt6 As New System.Windows.Forms.RichTextBox
UtilsSetLineSpace.SetLineSpace(rtxt6, 400)
rtxt6.name = "mytxt"
rtxt6.Dock = 5
e.Form.Controls("Panel6").BaseControl.Controls.Add(rtxt5)
rtxt1.Multiline = True

 

 

'Dim rtxt6 = Forms("岗位晋级").Controls("Panel6").basecontrol.Controls("mytxt")
rtxt6.text = Tables("提示信息").Rows(5)("岗位晋级")
rtxt6.ForeColor = color.Blue
rtxt6.Font = New Font("宋体",15)

 

都放在Afterload事件中定义冲突,如果把下面的代码放在别的事件中,必须要在窗口中点击鼠标才能显示出来,这样界面不好。


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107775 积分:548220 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/12 14:58:00 [只看该作者]

按5楼用法就行了,本来就不需要重复定义

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/2/12 15:11:00 [只看该作者]

以下是引用nxqtxwz在2020/2/12 14:52:00的发言:

太好了,问题解决了。谢谢老师。有个问题,就是下面的代码怎么能放在窗口的Afterload事件中呢。

 

Dim rtxt6 As New System.Windows.Forms.RichTextBox
UtilsSetLineSpace.SetLineSpace(rtxt6, 400)
rtxt6.name = "mytxt"
rtxt6.Dock = 5
e.Form.Controls("Panel6").BaseControl.Controls.Add(rtxt5)
rtxt1.Multiline = True

 

 

'Dim rtxt6 = Forms("岗位晋级").Controls("Panel6").basecontrol.Controls("mytxt")
rtxt6.text = Tables("提示信息").Rows(5)("岗位晋级")
rtxt6.ForeColor = color.Blue
rtxt6.Font = New Font("宋体",15)

 

都放在Afterload事件中定义冲突,如果把下面的代码放在别的事件中,必须要在窗口中点击鼠标才能显示出来,这样界面不好。

怎么能把粉色的代码合二为一呢?

另外,A、B两表都有姓名列,怎么在A表中输入姓名后,在B表中选中姓名相同的记录呢?


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107775 积分:548220 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/12 15:18:00 [只看该作者]

都说了不需要重复定义。把第二个粉色代去掉即可,画蛇添足。

A表DataColChanged事件
If e.DataCol.Name = "姓名" Then
    If e.NewValue > "" Then
        Dim wz As Integer = Tables("表B").FindRow("姓名='" & e.NewValue & "'")
        If wz >=0 Then
            Tables("表B").Position = wz
        End If
    End If
End If

 回到顶部