以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]RichTextBox窗口段落首行缩进如何设置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102775) |
-- 作者:jyh7081 -- 发布时间:2017/6/25 17:44:00 -- [求助]RichTextBox窗口段落首行缩进如何设置 前期的帖子:RichTextBox随机单元格例子 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=98484
希望RichTextBox窗口显示数据时段落首行缩进,数据表保持不缩进。 谢谢! -------------- 1、全局代码: Public Class UtilsSetLineSpace <DllImport("user32", CharSet := CharSet.Auto)> _ \'\'\' <summary> End Class Public Sub mytxt_TextChanged(sender As Object, e As EventArgs) ----------- 2、窗口afterload: Dim rt As new Windows.Forms.RichTextBox \'定义 一个RichTextBox UtilsSetLineSpace.SetLineSpace(rt, 400) ----------------- 3、窗口TimerTick: If vars("xy") <> CurrentTable.RowSel & "," & CurrentTable.ColSel Then
|
-- 作者:有点色 -- 发布时间:2017/6/25 18:43:00 -- 没有方法直接设置缩进的,只能填充空格进去。
在你绑定的TextChanged事件,再把空格去掉即可。 |
-- 作者:jyh7081 -- 发布时间:2017/6/26 20:59:00 -- 按照版主的提示,可以达到缩进的效果,但是感到变换单元格时,显示速度比较慢,好像等一下的感觉,定时器设置为100。請版主看看代码是否有问题,谢谢!
1、在RichTextBox窗口的TimerTick事件设置的添加空格代码: Dim rt = e.form.Controls("Panel1").basecontrol.Controls("mytxt") static ps As String = Nothing 2、然后在当前表的AfterSelChange事件设置下列代码: For Each r As Row In CurrentTable.Rows \'清除多余空格 Next |
-- 作者:有点蓝 -- 发布时间:2017/6/26 21:44:00 -- 代码看不出什么问题 |
-- 作者:有点色 -- 发布时间:2017/6/27 8:37:00 -- 具体实例发上来测试。 |
-- 作者:有点色 -- 发布时间:2017/6/27 8:41:00 -- 以下是引用jyh7081在2017/6/26 20:59:00的发言:
2、然后在当前表的AfterSelChange事件设置下列代码: For Each r As Row In CurrentTable.Rows \'清除多余空格 Next
AfterSelChange 事件不能写太耗时的代码,你对全表进行操作,肯定慢。建议改成修改当前单元格的值就好了。 |