Jak nastavit barvu rámečku u TextBoxu v C# ? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak nastavit barvu rámečku u TextBoxu v C# ? – .NET – Fórum – Programujte.comJak nastavit barvu rámečku u TextBoxu v C# ? – .NET – Fórum – Programujte.com

 

jfk0
Newbie
7. 8. 2009   #1
-
0
-

Čau lidi,
potřeboval bych poradit, jak nastavit nebo změnit barvu rámečku u komponenty TextBox ve winForms (u WPF to jde). Chtěl bych tím zvýraznit focus na vybraný TextBox. Standartní takovou vlastnost jsem nenašel. Prozatím jsem to "vyřešil" tak, že jsem TextBox vložil do Panelu o 2px většího a nastavil mu barvu pozadí :smile1: . Vím, že je to dost amatérské řešení, ale nic lepšího mě nenapadlo, proto se obracím na vás. S progamováním teprve začínám - hraju se s tím po večerech teprve asi 14 dní, takže mě prosím nekamenujte, jestli jde o triviální záležitost. Našel jsem něco na netu, ale mé začátečnické vědomosti nestačily na to, abych to pochopil :smile1:

Díky za pomoc

Jara

Nahlásit jako SPAM
IP: 93.92.51.–
7. 8. 2009   #2
-
0
-

Zdravím,
už poměrně dlouhou dobu jsem s WinForms nepracoval, takže přesně nevím, jaké vlastnosti tam jsou, ale obecně vzato to takhle jednoduše nepůjde, protože WinForms je v podstatě takovej obal WinAPI a ty prvky vlastně kreslí systém (což je rozdíl oproti WPF). Nezbývá ti tedy nic jiného, než upravit vykreslení prvku -> buď vytvoříš potomka, kde přepíšeš potřebnou metodu a nebo by to mohlo jít po odchycení nějaké události toho TextBoxu. Víc ti teď nenapíšu, zkus prohledat MSDN.

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
rudolf_franek0
Stálý člen
11. 8. 2009   #3
-
0
-

Stran vlozeni do Panelu: me to prijde docela OK - pokud je to jen na jednom miste, tak to ani nevadi vykonu. Pokud by takovy prvek bylo treba pouzit casteji, pak souhlasim s Janosikem, ze je treba si bud podedit TextBox a provest override metody OnPaint.
Ale mozna by stacilo udelat UserControl do nejz by se vlozil ten TextBox a tomu UserControlu bych pridal property typu string a jmena Text abych mel pristup k textu toho TextBoxu + nejakou bool IsHighlighted + int BorderWidth? Uvnitr tohoto UserControlu bych take zpracovaval eventy GotFocus a LostFocus. Coz je v zasade to prvni reseni, jen trochu rozsirene.

Nize uvedeny priklad UserControl-u obsahuje pouze a jen TextBox textBox1. A doufam, ze dela, co je pozadovano. V designeru je treba naklikat pro textBox1 Multiline na true a dock na Fill. UserControl1 musi mit nastaveny Padding na pozadovanou sirku ohraniceni.

public partial class UserControl1 : UserControl

{
public UserControl1()
{
InitializeComponent();
textBox1.GotFocus +=
new EventHandler(textBox1_GotFocus);
textBox1.LostFocus +=
new EventHandler(textBox1_LostFocus);
}

void textBox1_LostFocus(object sender, EventArgs e)
{
BackColor = Color.Blue;
}

void textBox1_GotFocus(object sender, EventArgs e)
{
BackColor = Color.Red;
}
}

Nahlásit jako SPAM
IP: 90.178.66.–
jfk0
Newbie
12. 8. 2009   #4
-
0
-

Díky oběma za pomoc,
zkoušel jsem oboje a zase jsem se přiučil novým věcem :smile1: . Funguje to, tak jak jsem chtěl.
Nakonec ale přece zvažuju, že začnu používat WPF, protože bych musel upravovat každou druhou komponentu a to je další práce "navíc". Do WinForms jsem se pustil hlavně proto, že jsem pořídil pár knížek, kde se používají, tak jsem u toho zůstal. Ale vidím, že ve WPF jsou větší možnosti.

Jara

Nahlásit jako SPAM
IP: 93.92.51.–
rudolf_franek0
Stálý člen
12. 8. 2009   #5
-
0
-

Souhlasim - pokud mas volnost volby, pak zustan u WPF. Podle me momentalni vyhoda WinForms je hlavne vice komercnich komponent a "doma" to az tak nevynikne.

Nahlásit jako SPAM
IP: 90.178.66.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý