[VC#] Memo z numerowanymi liniami

0

Potrzebuję mieć widocznie ponumerowane linie w TextBox'ie lub RichTextBox'ie.

  1. Próbowałem coś samemu domalować:
public class NumberedMemo : RichTextBox
{
    protected override void OnPaint(PaintEventArgs e) 
    {
        base.OnPaint(e);
        e.Graphics.Clear(Color.GreenYellow);
    }
}
//...
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Controls.Add(new NumberedMemo());
        }

jednak bez efektu :/ OnPaint w ogóle nie jest wywoływane [???]

  1. Czy da się w TextBox zrobić między lewą krawędzią box'a a tekstem margines, ale bez samodzielnego rysowania tekstu (tak abym mógł na tym marginesie namalować liczby) ?

  2. Jak zrobić, aby RichTextBox mógł przechowywać tylko czysty tekst niesformatowany (jak TextBox) Da się to zrobić łatwiej niż naprawą tekstu po wklejeniu czegoś ze schowka ?

  3. Ewentualnie może ma/zna ktoś jakieś porządne gotowe memo z opcją numeracji wierszy ? Najlepiej jak najmniej nazdziwiane.

//edit
teraz zauważyłem, że TextBox'y w ogóle nie obsługują zdarzenia Paint, ani nie wywołują metody OnPaint. Jak do nich coś domalować ?

0

Może wrzuć memo na panel ew. umieść panel obok memo następnie w OnPaint panelu będziesz mógł bez problemu narysować sobie kolejne numery linii.

0
AdamPL napisał(a)

Może wrzuć memo na panel ew. umieść panel obok memo następnie w OnPaint panelu będziesz mógł bez problemu narysować sobie kolejne numery linii.
Właśnie chciałem, aby numerowanie było rysowane wewnątrz memo. Ale już właściwie zmieniłem pomysł. Generalnie chodzi o zrobienie kontrolki do edycji listy jednolinijkowych tekstów. Problem rozszerzam na listę innych typów. Zrobię listbox'a z edytowalnymi wierszami po podwójnym kliknięciu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1