animowany richTextBox

0

Mam richTextBoxa wypełnionego linijami tekstu. Jak zrobić aby ten tekst się sam przesuwał. Cos takiego jak napisy na końcu filmów. I jak wymusić w tej kontrolce kolor przezroczysty?

0

Przezroczysty RichTextBox:

public class TransparentRichTextBox : RichTextBox
    {
        public TransparentRichTextBox()
        {
            base.ScrollBars = RichTextBoxScrollBars.None;
        }

        override protected CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x20;
                return cp;
            }
        }

        override protected void OnPaintBackground(PaintEventArgs e)
        {
        }
    }

A co do przewijającego się textu to możesz stworzyć sobie timera, w którym będziesz przypisywał do textbox-a tekst, ale za każdym razem będziesz wyświetlał od następnej linii.

0

A tak zapytam z ciekawości, jak zastosować tego TransparenRichTextBox'a ? Nie bawiłem się C# za wiele ale z tego co widziałem, wszystkie komponenty są tworzone w osobnym pliku (partial) w definicji klasy. Można więc tam podmienić klasę tego naszego richedit'a, ale mi bardziej chodzi o to czy w IDE będzie te zmiany widać natychmiast ?

0

Utworz plik nowej klasy z powyzszym kodem. Skompiluj projekt. Bedziesz mial teraz ta kontrolke dostepna w Toolbox. Wystarczy tylko przeciagnac ja na formularz i gotowe.

0

Faktycznie bajer ! Zresztą jak już jest jakiś zwykły RichEdit, i w Form1.Designer.cs podmieniłem jego definicję i utworzenie, to też sam się zmienił na tego nowego.

Co prawda nie wiem dlaczego to wszystko tak działa ... to znaczy dlaczego ten RichEdit znalazł się na ToolBoxie ale mi się to podoba. Nie mam dzisiaj siły tego szukać, ale obstawiam, że aby tak było, to deklarowana klasa musi implementować jakiś interfejs, który na dzień dobry RichEdit implementuje wywodząc się z klasy Control.

Jako że wychowałem się na Delphiku, rodzi mi się w głowie cała masa pytań ... ale pewnie sporo się wyjaśni jak zgłębie najpierw trochę literatury.

Dzięki
Pozdrawiam

Eh, ciekawość pierwszy stopień do piekła ... a jak dodałem jakieś pole, to żeby ono pojawiło się w Inspektorze obiektów to co trzeba zrobić ?

0

Ale bajer, wystarczy żeby to była właściwość zamiast pola. Zaczynam się coraz bardziej nakręcać tym językiem, szkoda tylko że czasu na zgłębianie wiedzy tak mało.

0

A jeszcze podpytam.

  1. Dlaczego konstruktor nie wywołuje konstruktora klasy bazowej (:base()) ?

  2. Tak dla pewności, C# nie ma nic przeciwko żeby właściwości miały nazwy identyczne jak np nazwy typów ?

0
  1. Tak dla pewności, C# nie ma nic przeciwko żeby właściwości miały nazwy identyczne jak np nazwy typów ?

Nie ma nic przeciwko, pod warunkiem, że nie są to słowa kluczowe - wtedy ewentualnie z małpką przed nazwą np. @bool

0
b0bik napisał(a)
  1. Dlaczego konstruktor nie wywołuje konstruktora klasy bazowej (:base()) ?

Mały eksperyment z dziedziczeniem:

        public class A
        {
            public A()
            {
                Console.WriteLine("A");
            }
        }

        public class B : A
        {
            public B()
            {
                Console.WriteLine("B");
            }
        }

Teraz wywołanie:

        static void Main(string[] args)
        {
            B b = new B();
        }

Wynik:

A
B
Aby kontynuować, naciśnij dowolny klawisz . . .

Morał: wywołuje się domyślnie konstruktor w takim przypadku ;-)

0

No tak mogłem sprawdzić, na razie jeszcze błądze w sferze teorii... A tam jak byk stało żeby wywoływać konstruktor klasy bazowej. A może przy różnych sygnaturach kontruktorów ... sprawdzę w domu.

Dzięki.

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