Autor Beitrag
TonySharp
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 29.08.09 14:45 
Hallo c# Community,

ich beschäftige mich schon eine kleine Weile mit der Programmierung, vorallem mit Delphi, und wollte nun auch mal noch etwas anderes dazu lernen.
Ich bin also quasi noch ein Anfänger in c#.

Mein Problem ist das ich leider nich herausfinden konnte, wie ich einem markierten Text in einer RichTextbox bestimmte Werte zuweisen kann,

in Delphi schreibt man das so:

ausblenden Delphi-Quelltext
1:
2:
ComboBox.Onchange
Richedit1.SelAttributes.Size:=Strtoint(Combobox1.text);


und in c# macht irgendwie keine Variante so richtig sinn :(

ausblenden C#-Quelltext
1:
richTextBox1.Font.Size  = intostring (toolStripComboBox1.SelectedText);					


So kanns ja nich gehen..

Ich hoffe ihr könnt mir rigendwie ein Tipp geben oder mich auf den richtigen Weg bringen ^^, und ich will aufkeinen Fall das IHR das schreiben sollt, ich will das schon allein machen, nur brauch ich erstmal paar Tipps.

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 29.08.09 15:20 
Hallo und :welcome:!

Schau Dir mal die Selection*-Eigenschaften der RichTextBox an (also richTextBox1.SelectionFont z.B.) :-)

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
TonySharp Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 31.08.09 21:24 
Sorry das ich erst jetzt wieder schreiben konnte, egal wie ichs versuch das will nicht klappen..

Ich versteh nich ganz wieso nach

richTextBox1.SelectedText. <-- hier nicht sowas wie size kommt

Vllt wäre ein Beispiel doch mal gut, mit dem richTextbox1.SelectionFont konnt ich auch nix anfangen.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.08.09 21:30 
Naja, sowas hier funktioniert bei mir schonmal :-)
ausblenden C#-Quelltext
1:
richTextBox1.SelectionFont = new Font('Arial'12);					


user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Ich versteh nich ganz wieso nach

richTextBox1.SelectedText. <-- hier nicht sowas wie size kommt

Weil der Text ein String ist und somit nur den Inhalt, nicht die Formatierung darstellt. Trennung von Daten und Darstellung auf niedrigstem Level sozusagen ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
TonySharp Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 31.08.09 21:50 
richTextBox1.SelectionFont = new Font('Arial', 12);

Aber das gibt so nur n paar nette kleine Fehler
Hm ich versteh nich wonach das geht sorry.

"Weil der Text ein String ist und somit nur den Inhalt, nicht die Formatierung darstellt. Trennung von Daten und Darstellung auf niedrigstem Level sozusagen"

Dann müsste es ja trotzdem etwas geben was den String formatiert oder?

Hm erklär mir das doch mal bitte etwas genauer.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.08.09 21:57 
user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
richTextBox1.SelectionFont = new Font('Arial', 12);

Aber das gibt so nur n paar nette kleine Fehler

Und welche? :roll:

user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Dann müsste es ja trotzdem etwas geben was den String formatiert oder?

Ja, SelectionFont und die anderen Dinger, die mit "Selection" anfangen. Das sollte doch inzwischen klar geworden sein, oder?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
TonySharp Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 31.08.09 22:06 
Fehler 1 Zu viele Zeichen im Zeichenliteral.
Fehler 2 Die beste Übereinstimmung für die überladene System.Drawing.Font.Font(string, float)-Methode hat einige ungültige Argumente.
Fehler 3 1-Argument: kann nicht von "char" in "string" konvertiert werden.

"Ja, SelectionFont und die anderen Dinger, die mit "Selection" anfangen. Das sollte doch inzwischen klar geworden sein, oder?"

Ja ist mir bewusst, aber wie ich jetzt

richTextBox1.SelectionFont.Size

den Inhalt einer Combobox zu ordne weiß ich nich -_-.

Tut mir leid das ichs wohl nich kapier.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.08.09 22:09 
Versuch's mal hier mit:
ausblenden C#-Quelltext
1:
richTextBox1.SelectionFont = new Font("Arial"12);					

Die einzelnen Anführungszeichen sind in C# für einzelne Zeichen, die doppelten für Strings.Ich hatte aus einem Delphi-Prism-Quelltext kopiert, da ist's anders ;-)



user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Ja ist mir bewusst, aber wie ich jetzt

richTextBox1.SelectionFont.Size

den Inhalt einer Combobox zu ordne weiß ich nich

Schau Dir mal den zweiten Parameter bei der Erstellung der Schriftart (12) an - das ist die Schriftgröße ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 31.08.09 22:16 
Und wenn es um die ComboBox geht:
ausblenden C#-Quelltext
1:
2:
3:
int a = 0;
if (Int32.TryParse(comboBox.Text, out a))
  richTextBox.SelectionFont = new Font(richTextBox.SelectionFont.Name, a);
TonySharp Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 31.08.09 22:25 
Das, das die Schriftgröße ist, ist mir auch klar. Wie das in Delphi Prism ist, ist ja auch eher egal.

Eigentlich wollte ich nur die Schriftgröße über die Combobox ändern, da steht jetzt meinetwegen drinn:

1
2
3
usw..

Weswegen ich den Fehler trotzdem nicht nachvollziehen kann.

Zum Text von Jaenicke, rein vom lesen her verständlich, aber in welches Ereignis der Combobox muss das,
ich nahm an in "SelectedIndexChanged"
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.08.09 22:32 
user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Das, das die Schriftgröße ist, ist mir auch klar. Wie das in Delphi Prism ist, ist ja auch eher egal.

Das war auch nur die Erkärung, warum ich den Quelltext falsch gepostet hatte.

user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Weswegen ich den Fehler trotzdem nicht nachvollziehen kann.

Wie man den Fehler behebt, habe ich ja oben geschrieben.

user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Zum Text von Jaenicke, rein vom lesen her verständlich, aber in welches Ereignis der Combobox muss das,
ich nahm an in "SelectedIndexChanged"
Wann soll denn das passieren? Wenn es ist, wenn der Index sich ändert - ja!

Ich möchte Dich bitten, doch mal ein bisschen Eigeninitiative zu zeigen und Dir nicht alles vollständig vorkauen zu lassen! :mahn:

Du könntest Dir außerdem mal ein paar Grundlagen ansehen: Suche bei Google GALILEO OPENBOOK VISUAL C#

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
TonySharp Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 31.08.09 22:38 
Ich will garnicht das der Eindruck entsteht das ichs vorgekaut haben will, wenn ich aber nix damit anfangen kann hilft mir das auch nicht viel.

Das hier z.B.:

"Die einzelnen Anführungszeichen sind in C# für einzelne Zeichen, die doppelten für Strings.Ich hatte aus einem Delphi-Prism-Quelltext kopiert, da ist's anders"

Ja und das heißt was? weder mit ' noch ohne irgendwas funktioniert es.

Zum letzten, wenn ich den Index ändere also z.B. den 2. Eintrag auswähle ändert sich der aktuelle Index ja, nur passieren tut nix.
Aber danke trotzdem, ich wollte nur eben nicht wieder mit irgendwas komplett von vorn anfangen, deswegen wollt ich lieber gleich sowas machen.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.08.09 22:49 
user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Das hier z.B.:

"Die einzelnen Anführungszeichen sind in C# für einzelne Zeichen, die doppelten für Strings.Ich hatte aus einem Delphi-Prism-Quelltext kopiert, da ist's anders"

Ja und das heißt was? weder mit ' noch ohne irgendwas funktioniert es.

Außerdem:
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Versuch's mal hier mit:
ausblenden C#-Quelltext
1:
richTextBox1.SelectionFont = new Font("Arial"12);					


user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
Zum letzten, wenn ich den Index ändere also z.B. den 2. Eintrag auswähle ändert sich der aktuelle Index ja, nur passieren tut nix.
Aber danke trotzdem, ich wollte nur eben nicht wieder mit irgendwas komplett von vorn anfangen, deswegen wollt ich lieber gleich sowas machen.
Das Ereignis hast Du korrekt angelegt und nicht nur eine Methode mit entsprechendem Namen erstellt?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
TonySharp Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 31.08.09 23:01 
Ja das mit der Font geht jetzt danke,


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
private void toolStripComboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            int a = 0;
            if (Int32.TryParse(toolStripComboBox2.Text , out a))
                richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont.Name, a);
        }


in der 2. Combobox hab ich jetzt Tesweise nur Arial und Arial Black stehen, wenn ich jetzt was markiere, und dann einen der Einträge auswähle verändert sich der ausgewählte text halt nich.

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.08.09 23:18 
Das sieht jetzt so falsch erst einmal nicht aus. :lupe:

Setz doch mal einen Haltepunkt in die Methode und schau, ob die überhaupt aufgerufen wird.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 01.09.09 19:21 
user profile iconTonySharp hat folgendes geschrieben Zum zitierten Posting springen:
in der 2. Combobox hab ich jetzt Tesweise nur Arial und Arial Black stehen, wenn ich jetzt was markiere, und dann einen der Einträge auswähle verändert sich der ausgewählte text halt nich.
Warum sollte er auch? :gruebel:

Du versuchst den Inhalt der zweiten ComboBox in eine Zahl umzuwandeln und änderst die Schriftart, wenn das geklappt hat. Nur sagst du selbst, dass da Arial und so drin stehen. Das lässt sich nun einmal schlecht in eine Zahl umwandeln...
Deshalb gibt TryParse false zurück und die folgende Zeile wird nicht ausgeführt.

Zudem willst du ja wohl eher die Schriftart ändern, dafür nimmst du aber die aktuelle und versuchst den Inhalt deiner zweiten ComboBox umgewandelt in eine Zahl als Größe zu setzen.

Es hat keinerlei Sinn, wenn du Quelltext kein bisschen verstehst und einfach kopierst und dann auf gut Glück herumrätst und irgendetwas änderst... :roll:
Wie gesagt: Grundlagen...