字符串的长度和字体大小与文本框的宽度之间的关系

发布于 2024-08-04 20:51:42 字数 151 浏览 4 评论 0原文

我在数据库中有一个字段,该字段有最大长度,我想将文本框设置为适当的宽度。我正在运行时创建文本框。如何计算 width 属性的值?

例如,如果我有一个名为 IDClient 的字段 nvarchar(5),并且字体大小为 13,我想创建一个宽度足以写入 5 个字符的文本框。

I've a field in a database, this field has a maximum length, and I want to set a textbox to the appropriate width. I'm creating the textboxes in runtime. How can I calculate the value of width property?

For example, if I have a field nvarchar(5) named IDClient, and the font-Size is 13, I want to create a texbox with a width enough to write 5 chars.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谷夏 2024-08-11 20:51:43

也许应该使用 TextRenderer.MeasureText(string, font)

这是一个可能对您有帮助的小示例

        //Get this value from somewhere...
        TextBox textBox = new TextBox();
        int maxWidth = 10;
        int extraSpace = 3;

        //Create sample string
        StringBuilder sb = new StringBuilder(maxWidth);
        sb.Append('w', maxWidth);

        //Measure text 
        Size size = TextRenderer.MeasureText(sb.ToString(), textBox.Font);

        //Set width of TextBox to needed width
        textBox.Width = size.Width + extraSpace;

Maybe should use TextRenderer.MeasureText(string, font).

Here a little sample which should might help you

        //Get this value from somewhere...
        TextBox textBox = new TextBox();
        int maxWidth = 10;
        int extraSpace = 3;

        //Create sample string
        StringBuilder sb = new StringBuilder(maxWidth);
        sb.Append('w', maxWidth);

        //Measure text 
        Size size = TextRenderer.MeasureText(sb.ToString(), textBox.Font);

        //Set width of TextBox to needed width
        textBox.Width = size.Width + extraSpace;
作业与我同在 2024-08-11 20:51:43

指定

输入 type='text' size='5' width='w' ........>

您可以计算 w=num_characters * k。
其中 k 是常数。首先保持 k = 15。
然后进行尝试,直到找到最合适的。

Specify

input type='text' size='5' width='w' ........>

You can calculate w=num_characters * k.
Where k is constant. First keep k = 15.
And then do hit and trial until u find the best fit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文