Отступ текста справа в RichTextBox

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

SBJocker
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 19.01.2004 (Пн) 16:57

Отступ текста справа в RichTextBox

Сообщение SBJocker » 25.01.2005 (Вт) 13:01

Как сделать сабж.?
Собственно нужно чтобы текст печатался не плотную от правого края RTB а на некотором расстоянии от него... Нужно для того что бы на освободившемся месте делать пометки и т.д.

Krasavica
Небожительница
Небожительница
Аватара пользователя
 
Сообщения: 1378
Зарегистрирован: 04.11.2003 (Вт) 17:51
Откуда: Россия, город-герой Москва ;-)

Сообщение Krasavica » 06.02.2005 (Вс) 19:46

Нужно установить свойство SelectionRightIndent в значение, равное отступу (в пикселях).

Более подробно см. SelectionRightIndent property в MSDN. :)
я - ангел!!! ...просто крылья в стирке, а нимб на подзарядке!
Меня трудно найти, легко потерять и невозможно забыть.Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.02.2005 (Вс) 20:43

Дык ведь ты уже спрашивал, и тебе уже отвечали: http://bbs.vbstreets.ru/viewtopic.php?t=13040
Изображение

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 06.02.2005 (Вс) 21:36

Попробуй так SelectionRightIndent - Устанавливает отступ правого края текста от правого поля...

К примеру:
RichTextBox1.SelectionRightIndent = 100 :wink:
***********************************************
Krasavica, писала правильно... :wink: :lol:


Пример из MDSN

[Visual Basic] В следующем примере демонстрируется создание правого поля в элементе управления RichTextBox с помощью свойства SelectionRightIndent. В примере предполагается наличие формы, содержащей элемент управления RichTextBox с именем richTextBox1, а также что код вызывается из события в составе класса формы.


Private Sub WriteIndentedTextToRichTextBox()
' Clear all text from the RichTextBox;
RichTextBox1.Clear()
' Set the font for the text.
RichTextBox1.Font = New Font("Lucinda Console", 12)
' Specify a 20 pixel right indent in all paragraphs.
RichTextBox1.SelectionRightIndent = 30
' Set the text within the control.
RichTextBox1.SelectedText = "All text is indented 20 pixels from the right edge of the RichTextBox."
RichTextBox1.SelectedText = "You can use this property with the SelectionIndent property to provide right and left margins."
RichTextBox1.SelectedText = "After this paragraph the indentation will end." + ControlChars.CrLf
' Remove all right indentation.
RichTextBox1.SelectionRightIndent = 0
RichTextBox1.SelectedText = "This paragraph has no right indentation. All text should flow as normal."
End Sub

SBJocker
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 19.01.2004 (Пн) 16:57

Сообщение SBJocker » 06.02.2005 (Вс) 21:51

Только этот код сработает только для выделенного текста

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 06.02.2005 (Вс) 22:00

SBJocker писал(а):Только этот код сработает только для выделенного текста


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RichTextBox1.SelectionRightIndent = 20
End Sub

Если нет выделенного текста, отступ будет применен к абзацу, в котором содержится положение курсора, и ко всему тексту, который пользователь введет в элемент управления после места ставки. Отступ применяется до тех пор, пока значение свойства не будет изменено, или пока положение курсора не будет перемещено в другой абзац элемента управления.

Если в элементе управления выделен текст, то значение данного свойства применяется к этому тексту и к любому тексту, вводимому после выделения. Кроме того, с помощью этого свойства можно задавать отступ абзацам документа элемента управления RichTextBox. Это свойство можно использовать совместно со свойством SelectionIndent для создания абзацев, отображающихся в абзацах.

Чтобы задать красную строку для абзацев элемента управления, воспользуйтесь свойством SelectionHangingIndent.

ЧИТАЙ MSDN :wink: :lol:

SBJocker
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 19.01.2004 (Пн) 16:57

Сообщение SBJocker » 06.02.2005 (Вс) 22:06

спасибо всем, но самый подходящий вариант описал tyomitch, в теме с похожим названием :)

Подскажите как на освободившемся месте в ричтекстбоксе что-нить нарисовать...

Как я понял событие Paint() не посылается поумолчанию, а только в режиме OwnerDraw но при этом текст тоже нужно самому выводить?


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList