Wspólne ustawienia kontrolek C#

Wspólne ustawienia kontrolek C#
TG
  • Rejestracja:około 16 lat
  • Ostatnio:prawie 13 lat
0

Piszę program, w którym namiętnie wykorzystuję kontrolkę dataGridView. Problem polega na tym, że co wrzucam ją na formę to muszę zmieniać ustawienia typu MultiSelection = false, AllowUserToAddRows = false, itd.
Czy istnieje jakaś możliwość żeby inicjować taką kontrolkę z już ustawionymi w/w opcjami.

W jaki sposób to zrobić? Czy jakąś klasę dziedziczącą po DataGridView, która zawierałaby ustawienia, ale jak potem zainicjować taką kontrolkę?

massther
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 9 lat
0

A to aż tak dużo roboty kilka właściwości ustawić?
Możesz skopiować już ustawiony grid w nowe miejsce, kontrolka będzie pamiętała ustawienia właściwości, trzeba tylko ustawić jej nową nazwę.
Można napisać kontrolkę która z gridview dziedziczy i w konstruktorze ustawia właściwości na takie wartości jak chcesz, ale to nie jest chyba dobry powód, do tworzenia własnej kontrolki.

TG
  • Rejestracja:około 16 lat
  • Ostatnio:prawie 13 lat
0

Kopiowanie oczywiście załatwia sprawę ale problem polega na tym, że jak stworzę (skopiowanych) sobie 10 dataGridów i zdecyduję, że ustawienia mają być inne to zmieniam w jednym miejscu (np. w klasie obsługującej te ustawienia) i wszystkie łapią mi te same zmienione ustawienia.

edytowany 1x, ostatnio: tgrobi
1

Dwa luźne pomysły. Kod z glowy.

Kopiuj
void SetDGV(ref DataGridview dgv)
{
       dgv.właściwość=wartość;
itd.

}

a przy inicjacji aplikacji dla każdego DGV:

Kopiuj
SetDGV(ref jakisTamDGV);
 

albo dla każdej formy:

Kopiuj

void UstawWszystkieDGV(Control ctr)
{
    if(ctr.GetType()==typeof(DataGridview))
    {
                (ctr as DataGridView)..właściwość=wartość;
                itd.
    }



    foreach(Control c in ctr.Controls)
    {
         UstawWszystkieDGV(c);
    }
}

 

i wywołujemy dla każdej formy UstawWszystkieDGV(this);

somekind
Tylko po co ten ref?
Loganek
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 8 lat
  • Postów:268
0

mój pomysł jest taki: ustawiasz sobie dataGridy, potem zaznaczasz je wszystkie(trzymasz ctrl i klikasz na każdy element), i zmieniasz właściwości.


TG
  • Rejestracja:około 16 lat
  • Ostatnio:prawie 13 lat
0

**Zasilany z baterii ** o to się właśnie rozchodziło. Wielkie dzięki. Kod z głowy ale działa bez zarzutów dokładnie tak jak chciałem.

0

Tylko po co ten ref? - somekind

Oczywiście bez ref też działa, bo toż przecież to typ referencyjny jest. Ale według mnie tak jest piękniej, i dobitnie podkreśla, że celem życiowym tejże metody jest modyfikacja zapodanego jej DGV.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Wrocław
0

Sorry, że się czepiam, ale o tym, co jest celem metody powinna mówić jej nazwa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.