FontStyle代码c#到c ++

时间:2013-03-31 14:00:33

标签: c# c++ fonts code-translation

我想让我的粗体,斜体,下划线按钮与richtextbox中的每个按钮一起使用。我找到了一个例子,但它在c#中。请帮助,它在c ++中的工作原理:

if(e.Button==toolBarButton1)
{
    int fStyle = (int)FontStyle.Bold + (int)FontStyle.Italic;
    FontStyle f = (FontStyle)fStyle;
    richTextBox1.SelectionFont = 
        new Font(richTextBox1.Font.Name, richTextBox1.Font.Size, f);
}

我的版本,我想重拍它

     if ( RichTextBox1->SelectionFont != nullptr )
   {
      System::Drawing::Font^ currentFont = RichTextBox1->SelectionFont;
      System::Drawing::FontStyle newFontStyle;
      if ( RichTextBox1->SelectionFont->Bold == true )
      {
         newFontStyle = FontStyle::Regular;
      }
      else
      {
         newFontStyle = FontStyle::Bold;
      }
      RichTextBox1->SelectionFont = gcnew System::Drawing::Font( currentFont->FontFamily,currentFont->Size,newFontStyle );

1 个答案:

答案 0 :(得分:0)

如果要将C#直接转换为C ++ / CLI,只需使用:

if (e->Button == toolBarButton1)
{
    int fStyle = safe_cast<int>(FontStyle::Bold) + safe_cast<int>(FontStyle::Italic);
    FontStyle ^f = safe_cast<FontStyle^>(fStyle);
    richTextBox1->SelectionFont = gcnew Font(richTextBox1::Font->Name, richTextBox1::Font::Size, f);
}