Witam wszystkich, proszę o pomoc, podpowiedź, cokolwiek :)
Jestem w trakcie tworzenia czegoś na kształt generatora odpowiednich obrazków według określonego szablonu. Żeby nie wrzucać tutaj całego projektu a dobrze opisać istotę problemu stworzyłem konkretny przykład obrazujący to czego potrzebuję.
Screen:
Kod:
private void button1_Click(object sender, EventArgs e)
{
//tworzę nową bitmapę, która na koniec będzie dodawana do picturebox2
Bitmap b = new Bitmap(pictureBox1.Image);
Graphics graphics = Graphics.FromImage(b);
graphics.DrawString(textBox1.Text, textBox1.Font, Brushes.Black, 60, 45);
pictureBox2.Image = b;
}
A więc jak widać mam 2 komponenty pictureBox1 i pictureBox2. Pierwszy jako "kreator" drugi jako podgląd zanim zapiszemy gotowy plik na dysku. Wpisany napis w textBox1 ma znajdować się w żółtym polu. Tu pojawia się problem.. Tekst nie przechodzi do następnej linii.
Czego próbowałem:
Próbowałem napisać funkcję, która jako tako działała ale efekt nie jest zadowalający. Polegała ona na wrzuceniu textBox1.text do tablicy charów, wyszukiwaniu ostatniej spacji w wyznaczonym przedziale i wstawianiu zamiast niej "\n". Problem polega na tym, że w polu zmieści się znacznie więcej przykładowo liter I od liter W a więc trudno o wyznaczenie dobrego przedziału.
W elemencie textBox jest również taka właściwość jak lines. Niestety działa ona nie gdy kursor automatycznie przeniesie się do następnej linii a dopiero gdy wciśniemy "enter".
W eventach niestety nie znalazłem niczego co obsługiwałoby to automatyczne przejście - szkoda.
Tak więc bardzo proszę o propozycję kogoś bardziej doświadczonego niż ja, czego jeszcze można spróbować.
Z góry dziękuję i pozdrawiam serdecznie.