Выпуск № 158 от 28.07.2009, 19:35
Администратор рассылки: Alexey G. Gladenyuk, Управляющий
В рассылке: подписчиков - 308, экспертов - 54
В номере: вопросов - 1, ответов - 1
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 170726: Здравствуйте, уважаемые эксперты!Помогите, пожалуйста, в решении проблемы. Я в среде VS2008, пользуясь C#, создал простенький текстовый редактор, на панели инструментов, которого есть checkboxы: Bold, Italic, Underline, Strikeout. Как сделать так,...
Вопрос № 170726:
Здравствуйте, уважаемые эксперты!Помогите, пожалуйста, в решении проблемы. Я в среде VS2008, пользуясь C#, создал простенький текстовый редактор, на панели инструментов, которого есть checkboxы: Bold, Italic, Underline, Strikeout. Как сделать так,чтобы пользователь, не открывая компонент FontDialog мог создать, к примеру, комбинацию Bold + Italic + Underline, включив три из упомянутых чекбокса? (При этом желательно, чтобы в FontDialog автоматически включилась опция "жирный курсив" и галочка
"подчеркнутый". Или наоборот, при создании такой же комбинации в FontDialogе, отмечались бы соответствущие чекбоксы на панели инструментов)
Отвечает Evgenijm, 9-й класс :
Здравствуйте, Парфентьев Александр Анатольевич.
Я использовал кнопки ToolStrip. Они могут работать и как Checkbox. С длинными текстами возможно моргание (после вызова диалога шрифт меняется несколько раз). Это можно обойти, но код усложнится.
/// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherw
ise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); }
#region Windows Form Designer generated code
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor.
/// </summary> private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form2)); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.chkBold = new System.Windows.Forms.ToolStripButton(); this.chkItalic = new System.Windows.Forms.ToolStripButton(); this.chkUnder
line = new System.Windows.Forms.ToolStripButton(); this.txtText = new System.Windows.Forms.TextBox(); this.fontDialog1 = new System.Windows.Forms.FontDialog(); this.btnFontDialog = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStrip1.SuspendLayout(); this.SuspendLayout(); // // toolStrip1 //
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.chkBold, this.chkItalic, this.chkUnderline, this.toolStripSeparator1, this.btnFontDialog}); this.toolStrip1.Location = new System.Drawing.Point(0, 0); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Size = new System.Drawing.Size(284, 25);
this.toolStrip1.TabIndex = 0; this.toolStrip1.Text = "toolStrip1"; // // chkBold // this.chkBold.CheckOnClick = true; this.chkBold.Displaystyle="System.Windows.Forms.ToolStripItemDisplayStyle.Text;" this.chkBold.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); this.chkBold.Image = ((System.Drawing.Image)(resources.GetObject("chkBold.Image")));
this.chkBold.ImageTransparentColor = System.Drawing.Color.Magenta; this.chkBold.Name = "chkBold"; this.chkBold.Size = new System.Drawing.Size(23, 22); this.chkBold.Text = "B"; this.chkBold.CheckedChanged += new System.EventHandler(this.FontTypeChanged); // // chkItalic // this.chkItalic.CheckOnCli
ck = true; this.chkItalic.Displaystyle="System.Windows.Forms.ToolStripItemDisplayStyle.Text;" this.chkItalic
Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Italic); this.chkItalic.Image = ((System.Drawing.Image)(resources.GetObject("chkItalic.Image"))); this.chkItalic.ImageTransparentColor = System.Drawing.Color.Magenta; this.chkItalic.Name = "chkItalic"; this.chkItalic.Size = new System.Drawing.Size(23, 22); this.chkItalic.Text = "i"; this.chkItalic.CheckedChanged
+= new System.EventHandler(this.FontTypeChanged); // // chkUnderline // this.chkUnderline.CheckOnClick = true; this.chkUnderline.Displaystyle="System.Windows.Forms.ToolStripItemDisplayStyle.Text;" this.chkUnderline.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Underline); this.chkUnderline.Image = ((System.Drawing.Image)(resource
s.GetObject("chkUnderline.Image"))); this.chkUnderline.ImageTransparentColor = System.Drawing.Color.Magenta; this.chkUnderline.Name = "chkUnderline"; this.chkUnderline.Size = new System.Drawing.Size(23, 22); this.chkUnderline.Text = "U"; this.chkUnderline.CheckedChanged += new System.EventHandler(this.FontTypeChanged); // // txtText // this.txtText.Dock
= System.Windows.Forms.DockStyle.Fill; this.txtText.Location = new System.Drawing.Point(0, 25); this.txtText.Multiline = true; this.txtText.Name = "txtText"; this.txtText.Size = new System.Drawing.Size(284, 239); this.txtText.TabIndex = 1; // // btnFontDialog // this.btnFontDialog.Displaystyle="System.Windows.Forms.T"
oolStripItemDisplayStyle.Text; this.btnFontDialog.Image = ((System.Drawing.Image)(resources.GetObject("btnFontDialog.Image"))); this.btnFontDialog.ImageTransparentColor = System.Drawing.Color.Magenta; this.btnFontDialog.Name = "btnFontDialog"; this.btnFontDialog.Size = new System.Drawing.Size(72, 22); this.btnFontDialog.Text = "Font Dialog"; this.btnFontDialog.Click += new System.EventHandler(this.btnFontDialog_Click);
// // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); // // Form2 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.F
ont; this.ClientSize = new System.Drawing.Size(284, 264); this.Controls.Add(this.txtText); this.Controls.Add(this.toolStrip1); this.Name = "Form2"; this.Text = "Form2"; this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout();
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.