webForumDet fria alternativet

C# VS.NET 05

.NET

7 svar · 358 visningar · startad av jabbalizer

Medlem sedan jan. 2001229 inlägg
Frågan#1

Jag har en massa knappar och sådant trevligt som jag ofta sätter .Enabled = false/true.

Grejen är att det syns som en våg eller nåt över GUIt hur detta sker. Kan man säga åt GUIt att inte bry sig om att rita upp allt förrän alla knappar och sånt har satts som inaktiva/aktiva?

Medlem sedan jan. 2001229 inlägg
#2

Och en annan grej.

Om man har t.ex. en GroupBox..... jag vill sätta den disabled, och det är ju inga problem men kan man låta t.ex en knapp som sitter på group boxen fortfarande vara enabled? Jag hittar inget kul bland egenskaperna för den nämligen.

Medlem sedan maj 20033 218 inlägg
#3

Vet inte kanske kan man lägga dess knappar i en panel och sätta denna disable?

Medlem sedan feb. 20002 300 inlägg
#4

jabbalizer skrev:

Och en annan grej.

Om man har t.ex. en GroupBox..... jag vill sätta den disabled, och det är ju inga problem men kan man låta t.ex en knapp som sitter på group boxen fortfarande vara enabled? Jag hittar inget kul bland egenskaperna för den nämligen.

Första frågan:
Alla kontroller (Control) har två metoder: SuspendLayout och ResumeLayout.

Gör såhär för att tillfälligt inaktivera utritningen på valfri kontroll (i ditt fall kanske din windows-form eller en groupbox etc.):

this.SuspendLayout();
button1.Enabled = false;
button2.Enabled = false;
osv...
this.ResumeLayout(true);

Använd Suspend-/ResumeLayout när du gör flera ändringar på någon kontroll så får man bättre svarstider i GUI:t.

Andra frågan:

Om du lägger en knapp i en GroupBox mha. designern så kommer knappen att läggas till i GroupBoxens Controls-collection. När GroupBoxens Enabled property sätts till false så itereras alla barnkontroller igenom och sätts också till Enabled=false.

Jag har inte testat men efter du satt GroupBox.Enabled till false så sätter du Knappen.Enabled till true.

Om inte det fungerar så ser du till att knappen inte lägger sig i GroupBoxens controls-collection.

Medlem sedan jan. 2001229 inlägg
#5

Tackar så mycket för de svaren =)

Jag undrar så mycket... Och här kommer nästa sak:

Jag fyller en DataGridView med en massa data så att raderna inte får plats i rutan.
Trots detta får jag inte automatiskt slidebars trots att det är inställt som "both".

Det skulle ju kunna vara något jag missat, men om jag ändrar en storlek (höjd/bredd) på en cell med musen, så kommer slidebars där de ska va helt plötsligt.

Kan man ge den en spark i röven så att användaren inte slipper känna till detta?
(har provat med t.ex. Refresh())

Medlem sedan jan. 2001229 inlägg
#6

Dessutom så finns slidebars där och går att använda i Design mode (då bredden på cellerna är större än vad som får plats).

Medlem sedan jan. 2001229 inlägg
#7

eller..ja.. inte "använda" märkte jag nyss... men den finns där med lite glapp åt höger ;)

Medlem sedan jan. 2001229 inlägg
#8

Jag löste problemet... eller delvis i alla fall.

Emellanåt görjag DataGridViewen osynlig. När jag sedan görden synlig igen fungerar inte slidern...

Men det vore ju bra om man KUNDE göra den osynlig utan denna sidoeffekt.

253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)