将字体设置为斜体和粗体

发布于 2024-10-24 05:35:35 字数 308 浏览 1 评论 0原文

如何将多种字体样式应用于文本?

System.Drawing.Font MyFont = new System.Drawing.Font(
    thisTempLabel.LabelFont,
    ((float)thisTempLabel.fontSize),
    FontStyle.Bold + FontStyle.Italic,    // + obviously doesn't work, but what am I meant to do?
    GraphicsUnit.Pixel
);

感谢您的帮助!

How do you apply multiple font styles to text?

System.Drawing.Font MyFont = new System.Drawing.Font(
    thisTempLabel.LabelFont,
    ((float)thisTempLabel.fontSize),
    FontStyle.Bold + FontStyle.Italic,    // + obviously doesn't work, but what am I meant to do?
    GraphicsUnit.Pixel
);

Thanks for any help!

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

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

发布评论

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

评论(5

蒲公英的约定 2024-10-31 05:35:35
System.Drawing.Font MyFont = new System.Drawing.Font(
    thisTempLabel.LabelFont,
    ((float)thisTempLabel.fontSize),
    FontStyle.Bold | FontStyle.Italic,
    GraphicsUnit.Pixel
);

也许您想使用 OR 运算符 (|)

System.Drawing.Font MyFont = new System.Drawing.Font(
    thisTempLabel.LabelFont,
    ((float)thisTempLabel.fontSize),
    FontStyle.Bold | FontStyle.Italic,
    GraphicsUnit.Pixel
);

Maybe you wanted to use the OR operator (|)

拥抱影子 2024-10-31 05:35:35

FontStyle 是一个标志枚举,因此您可以通过以下方式设置多种样式:

FontStyle.Bold | FontStyle.Italic

FontStyle is a flag enum and therefore you can set multiple styles by:

FontStyle.Bold | FontStyle.Italic
拒绝两难 2024-10-31 05:35:35

我认为这是 FontStyle.Bold | FontStyle.Italic

您通常使用管道(按位或)符号来组合这些函数中的多个标志

本页对此进行了解释

http://www.blackwasp.co.uk/CSharpLogicalBitwiseOps_2.aspx

I think it's FontStyle.Bold | FontStyle.Italic

You generally use the pipe (bitwise OR) symbol to combine multiple flags in these functions

This page explains it

http://www.blackwasp.co.uk/CSharpLogicalBitwiseOps_2.aspx

别把无礼当个性 2024-10-31 05:35:35

我认为您可以从 Font 类中受益:

/*controlName*/.SelectionFont=new Font(maintext.Font, FontStyle.Italic);

I think you could benefit from a Font class:

/*controlName*/.SelectionFont=new Font(maintext.Font, FontStyle.Italic);
苦妄 2024-10-31 05:35:35

嗨,我正在编写一个简单的文本编辑器,我遇到了同样的问题,我在互联网上没有找到任何有用的东西。如果表单中有很多按钮,则 if , else if 方法不是最佳的,所以我想为什么不采用现有的 font.style 并使用 | 添加到它中。像上面建议的那样的符号。我测试了这段代码并且它有效。我从单击的图片框调用此方法。

更新。我发现了一个错误。当您取消选择一种字体时,它也会将所有其他字体重置为常规字体。但将它们结合起来的代码是有效的。

private void ChangeFontStyle(PictureBox p)
        {
            if (p == pictureBox1)
            {
                if (BClicked)
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Bold);
                }
                else 
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
                }
            }
            else if (p == pictureBox2)
            {
                if (IClicked)
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Italic);
                }
                else 
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font,  richTextBox1.Font.Style | FontStyle.Regular);
                }
            }
            else if (p == pictureBox3)
            {
                if (UClicked)
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.SelectionFont.Style | FontStyle.Underline);
                }
                else
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
                }
            }
        }         

PS 我使用图片框而不是按钮和布尔变量(如 BClicked)指示它们是否被激活。

Hi I was writing a simple Text Editor and I had the same problem, I didn't find anything helpful on the internet. The if , else if method isn't optimal if there are many buttons in the form, so I thought why not take the existing font.style and just add to it using | symbol like people suggested above. I tested this code and it works. I call this method from pictureBox I click.

Update. I found a bug. when you deselect a font, it resets all others to regular too. But the code that combines them works.

private void ChangeFontStyle(PictureBox p)
        {
            if (p == pictureBox1)
            {
                if (BClicked)
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Bold);
                }
                else 
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
                }
            }
            else if (p == pictureBox2)
            {
                if (IClicked)
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Italic);
                }
                else 
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font,  richTextBox1.Font.Style | FontStyle.Regular);
                }
            }
            else if (p == pictureBox3)
            {
                if (UClicked)
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.SelectionFont.Style | FontStyle.Underline);
                }
                else
                {
                    richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
                }
            }
        }         

P.S I used picture boxes instead of buttons and boolean variables like BClicked indicate whether they are activated or not.

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