//Task 1.6 FontAdjusment static void FontAdjusment() { Console.WriteLine("Task 1.6"); FontStyles fontStyles = FontStyles.none; bool flag = true; while (flag) { Console.WriteLine("Введите параметр для редактирования стиля:\n 1. - bold;\n 2. - italic;\n 3. - underline;\n 4. - выход из данного таска\n"); int param = ParseUserIntInput(); switch (param) { case 1: { fontStyles = fontStyles.HasFlag(FontStyles.bold) ? fontStyles = fontStyles ^ FontStyles.bold : fontStyles = fontStyles | FontStyles.bold; break; } case 2: { fontStyles = fontStyles.HasFlag(FontStyles.italic) ? fontStyles = fontStyles ^ FontStyles.italic : fontStyles = fontStyles | FontStyles.italic; break; } case 3: { fontStyles = fontStyles.HasFlag(FontStyles.underline) ? fontStyles = fontStyles ^ FontStyles.underline : fontStyles = fontStyles | FontStyles.underline; break; } case 4: { flag = false; break; } default: { break; } } Console.WriteLine("Текущий набор стилей: " + fontStyles); } }
private uint ToFontFlags(FontStyles style) { uint dwFontFlags = 0; if (style.HasFlag(FontStyles.Bold)) { dwFontFlags |= (uint)FONTFLAGS.FF_BOLD; } if (style.HasFlag(FontStyles.Strikethrough)) { dwFontFlags |= (uint)FONTFLAGS.FF_STRIKETHROUGH; } // sure wished the following worked /* * if ( style.HasFlag(FontStyles.Italics) ) * dwFontFlags |= (uint)4; */ return(dwFontFlags); }
static void FontAdjustment_AddRemoveSelectedStyle(FontStyles fontStyle) { FontStyles tempFontStyle = FontAdjustment_ReadSelectedStyle(); while (tempFontStyle != FontStyles.None) { fontStyle = fontStyle.HasFlag(tempFontStyle) ? (fontStyle ^ tempFontStyle) : (fontStyle | tempFontStyle); Console.WriteLine(Environment.NewLine + $"Текущие параметры надписи: {fontStyle.ToString()}"); FontAdjustment_Display(); tempFontStyle = FontAdjustment_ReadSelectedStyle(); } }