我有一个自定义控件,我正在使用TextRenderer.DrawText绘制控件的文本,这就是OnPaint事件的样子:
function replaceChar(char, str) {
let k = '';
Array.from(str).forEach(function(item) {
if (item !== char) {
k += item
}
})
return k;
}
console.log(replaceChar('*', 'Test*Num*One'));
console.log(replaceChar('|', 't|e|s|t|1'));
console.log(replaceChar('1', 'B1C1D1E1F'));
您可以说,我试图容纳通过Control.Padding设置的填充,但是无论我设置了什么TextFormatFlags,调用DrawText时都不会应用填充。
因此,我尝试使用以下方法设置文本绘制位置的界限:
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
If Me.Dismissable Then
Using dismissBrush As Brush = New SolidBrush(styleConfiguration(Me.Style).Value)
' Custom drawing
End Using
End If
TextRenderer.DrawText(e.Graphics, Me.Text, Me.Font, New Point(0, 0), Me.ForeColor, TextFormatFlags.Left Or TextFormatFlags.LeftAndRightPadding)
End Sub
但是,即使页边距全部设置为5,这也将文本完全推离控件的视图。