Код FontStyle c # для переполнения стека

Я хочу, чтобы мои полужирные, курсивные, подчеркнутые кнопки работали друг с другом в 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 );

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);
}
0

Другие решения

Других решений пока нет …