Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование текста, RichTextBox 
:(
    Опции темы
Dimyan
Дата 1.5.2004, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 441
Регистрация: 12.1.2004
Где: Новосибирск

Репутация: 3
Всего: 4



Подскажите, как в RichTextBox подчеркнутый полужирный курсив применить к выделенному кусочку текста и как это применить к продолжению текста (т.е. например абзац уже написан и должен таким и остоваться, а то что будет печататься дальше далжно иметь другой формат)?


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Kurt
Дата 2.5.2004, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Ааа... Вот оно что, я как-то сначала не сообразил - сорри.
Насколько я понял, тебе нужно поиграться со свойством SelectionFont.
Устанавливая новое значение для этого св-ва, ты поменяешь шрифт у выделенного текста, а также последующего. Однако все написанные ранее, но невыделенные строки останутся как прежде.
Короче, тебе надо сделать что-то типа:
Код
this.RichTextBox1.SelectionFont = new Font("Rimes New Roman", 16, FontStyle.Bold|FontStyle.Underline);

Т.е. устанавливаешь все, что душе угодно.
Опробуй. Если что не получится, могу скинуть полный код, хотя там ничего интересного больше не будет.. smile.gif
Помогло?..

З.Ы. Там еще есть похожие св-ва типа SelectionColor и т.п. - вдруг цвет захочешь поменять.. wink.gif


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Dimyan
Дата 2.5.2004, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 441
Регистрация: 12.1.2004
Где: Новосибирск

Репутация: 3
Всего: 4



да помогло спасибо
но как это применить если кусок текста который уже написан должен остаться таким же, а дальше должен печататься текст с другими параметрами шрифта, но он еще не написан поэтому я не могу еще его выделить?
еще хотел спросить, как изменять положение текста (по правому краю, по центру, по левому краю)?


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Kurt
Дата 2.5.2004, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Цитата
Устанавливая новое значение для этого св-ва, ты поменяешь шрифт у выделенного текста, а также последующего. Однако все написанные ранее, но невыделенные строки останутся как прежде.

Погоди. Ты этот код запускал? Т.к. у меня после "включения" данной строки все последующие строчки уже в новом образе - с новым шрифтом..
Короче, раз так, вот полный код программки. Если ты напечатаешь некоторое количество строк, затем нажмешь кнопку и будешь ПРОДОЛЖАТЬ печатать - текст будет уже с новым шрифтом.
Код
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace RichTextBoxTest
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class frmMain : System.Windows.Forms.Form
{
 private System.Windows.Forms.RichTextBox rtbMain;
 private System.Windows.Forms.Button btnChange;
 private System.Windows.Forms.Button btnQuit;
 /// <summary>
 /// Required designer variable.
 /// </summary>
 private System.ComponentModel.Container components = null;

 public frmMain()
 {
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent();

  //
  // TODO: Add any constructor code after InitializeComponent call
  //
 }

 /// <summary>
 /// Clean up any resources being used.
 /// </summary>
 protected override void Dispose( bool disposing )
 {
  if( disposing )
  {
   if (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()
 {
  this.rtbMain = new System.Windows.Forms.RichTextBox();
  this.btnChange = new System.Windows.Forms.Button();
  this.btnQuit = new System.Windows.Forms.Button();
  this.SuspendLayout();
  //
  // rtbMain
  //
  this.rtbMain.Location = new System.Drawing.Point(16, 24);
  this.rtbMain.Name = "rtbMain";
  this.rtbMain.Size = new System.Drawing.Size(256, 136);
  this.rtbMain.TabIndex = 0;
  this.rtbMain.Text = "";
  //
  // btnChange
  //
  this.btnChange.Location = new System.Drawing.Point(16, 192);
  this.btnChange.Name = "btnChange";
  this.btnChange.Size = new System.Drawing.Size(104, 23);
  this.btnChange.TabIndex = 1;
  this.btnChange.Text = "Change selected";
  this.btnChange.Click += new System.EventHandler(this.btnChange_Click);
  //
  // btnQuit
  //
  this.btnQuit.Location = new System.Drawing.Point(168, 192);
  this.btnQuit.Name = "btnQuit";
  this.btnQuit.Size = new System.Drawing.Size(104, 23);
  this.btnQuit.TabIndex = 2;
  this.btnQuit.Text = "Quit";
  this.btnQuit.Click += new System.EventHandler(this.btnQuit_Click);
  //
  // frmMain
  //
  this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  this.ClientSize = new System.Drawing.Size(288, 238);
  this.Controls.AddRange(new System.Windows.Forms.Control[] {
                   this.btnQuit,
                   this.btnChange,
                   this.rtbMain});
  this.Name = "frmMain";
  this.Text = "RichTextBox test";
  this.ResumeLayout(false);

 }
 #endregion

 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 [STAThread]
 static void Main()
 {
  Application.Run(new frmMain());
 }

 private void btnChange_Click(object sender, System.EventArgs e)
 {
  this.rtbMain.SelectionFont = new Font("Rimes New Roman", 16, FontStyle.Bold|FontStyle.Underline);
 }

 private void btnQuit_Click(object sender, System.EventArgs e)
 {
  Application.Exit();
 }

}
}


Копируй в студию и запускай.. Или не то имелось ввиду?..

А по поводу
Цитата
как изменять положение текста (по правому краю, по центру, по левому краю)

ща вспомню.. Погодь немного.


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Kurt
Дата 2.5.2004, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Цитата
как изменять положение текста (по правому краю, по центру, по левому краю)

Ааа.. Во. Чтоб изменять выравнивание выделенного текста (а также последующего) нужно посмотреть в сторону св-ва SelectionAlignment. Т.е., чтоб, например, выравнять по правому краю, надо исполнить:
Код

this.RichTextBox1.SelectionAlignment = HorizontalAlignment.Right;

Ну и, ессно, совершенно аналогично для выравнивания по левому краю и по центру.


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Dimyan
Дата 5.5.2004, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 441
Регистрация: 12.1.2004
Где: Новосибирск

Репутация: 3
Всего: 4



Спасибо, все то, запустил попробывал, все работает
Спасибо


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.