【问题标题】:How preserve fontsize of 2 Richtextbox or equal sizes如何保留 2 Richtextbox 或相等大小的字体大小
【发布时间】:2021-08-21 05:29:39
【问题描述】:

我有 2 个富文本框,我使用带有此代码的按钮同时正确地增加了两者的字体大小。 问题是:当我直接在触摸屏上缩放和/或我不小心在触摸板上进行两指缩放时,在其中一个上,它也会缩放,但是按下按钮后我无法返回相等的值,两个文本框都得到不同的字体大小。 单击按钮继续增加每个文本 1 点,但在不同的尺寸下,我必须手动调整,(用 2 根手指以相同的方式再次缩放)以返回修改后的最接近的尺寸。



Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RichTextBox1.Font = New Font(RichTextBox1.Font.FontFamily, RichTextBox1.Font.Size + 1,RichTextBox1.Font.Style)
RichTextBox2.Font = RichTextBox1.Font
End Sub


【问题讨论】:

  • 这有点猜测,但请尝试创建两个新的 Font 对象,而不是创建一个在两个地方使用的对象。
  • 另外,如果您不打算再使用现有的Font 对象,您应该将它们处理掉。
  • 像这样?:RichTextBox1.Font.Dispose() RichTextBox2.Font.Dispose() RichTextBox1.Font = New Font(RichTextBox1.Font.FontFamily, RichTextBox1.Font.Size + 1, RichTextBox1.Font.Style) RichTextBox2.Font = New Font(RichTextBox1.Font.FontFamily, RichTextBox1.Font.Size + 1, RichTextBox1.Font.Style) 我试过了,但是不行,每个人都有自己的尺寸
  • 不是这样的。顺序错误,您使用错误的源来创建第二个Font。我会发布一个答案,以便我可以清楚地发布代码,即使我怀疑它无论如何都行不通。
  • 您说的是字体大小、RichTextBox 的ZoomFactor 属性还是手势缩放?这些都是不同的环境设置。如果要同步两个Controls的aspect,则需要同步所有因素。

标签: vb.net textbox richtextbox font-size


【解决方案1】:

我不确定这是否可行,但根据我的建议,尝试从同一来源创建两个新的 Font 对象,并在完全处理完旧对象后处理它们。

'We have no need of the second Font any more.
RichTextBox2.Font.Dispose()

'Get the first Font to use as a source.
Dim font1 = RichTextBox1.Font

'Create two new Fonts and assign them.
RichTextBox1.Font = New Font(font1.FontFamily, font1.Size + 1, font1.Style)
RichTextBox2.Font = New Font(font1.FontFamily, font1.Size + 1, font1.Style)

'We have no need of the first Font any more.
font1.Dispose()

【讨论】:

  • 仍然以相同的方式工作... 两根手指在触摸板中或在其中一个手指上打开两根手指触摸屏,这很疯狂:每个人都采用自己的大小,无法以相同的字体大小同步。似乎当您放大触摸板时,它会以其他未知方式放大,它不仅仅受字体大小控制...我在上面阅读了@Jimi 建议的Zoomfactor 忽略属性,然后我尝试将其设置回1,没有运气:RichTextBox1.ZoomFactor = 1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 2018-02-20
相关资源
最近更新 更多