Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[C#] Modyfikatory partial - nie do końca działają.

#1
[C#] Modyfikatory partial - nie do końca działają.
Witam!

Próbuję się uporać z tym problemem ładne parę godzin. Otóż mam dwa pliki odpowiedzialne za kod (jeden z kodem głównym, drugi tylko z klasami i zdarzeniami). Nadałem więc odpowiednim klasom modyfikatory partial, jednakże kompilator sypie błędami kiedy próbuję odwołać się do kontrolki (zmienić jej stan na ReadOnly na przykład). Poniżej kod błędu (drugi jest taki sam, tylko odnosi się do innej linii) i odpowiednie fragmenty kodu.

~Anonim napisał(a):The name 'podaj_imie' does not exist in the current context D:\Programowanie\Projekt\Clicks.cs 22 13

Kod PHP:
/* main.cs */

private void podaj_imie_Click(object obEventArgs e)
            {
                
Klikniecia.Imie();
            } 

Kod PHP:
/* clicks.cs */


partial class Klikniecia
{
public static 
void Imie()
    {
        if (
podaj_imie.ReadOnly == true)
        {
        }
        else
        {
            
podaj_imie.Clear();
        }
    }


Z góry wielkie dzięki za pomoc.

Pozdrawiam,
świstak
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#2
RE: [C#] Modyfikatory partial - nie do końca działają.
Nie jestem do końca pewien czy dobrze zrozumiałem Twój problem, ale mam nadzieję że jakoś pomogę.
Rozumiem, że podaj_imie_Click jest tworzone przez Visual-a i należy do klasy Form1 (czy jak tam Visual to sobie nazwał).
Ty masz klasę Klikniecie, a w niej tę funkcję statyczną, w której odwołujesz się do TextBoxa. Ale ten TextBox jest w innej klasie, w Form1.
Jak na razie jedyne co przyszło mi do głowy, to coś takiego:
Kod:
public static void Imie()
         {
            TextBox a = new TextBox();

            foreach(Control b in Form1.ActiveForm.Controls)
            {
                if(b.Name == "podaj_imie")
                {
                    a = (TextBox)b;
                    MessageBox.Show("Koniec");
                    break;
                }
            }

            if(a.ReadOnly == true)
            {
            }
            else
            {
                a.Clear();
            }
        }
Czyli przeszukujesz formę i sam załatwiasz sobie dostęp do kontrolki.

PS. Z komunikatu jaki u siebie dostałem wynika, że to pierwsze rozwiązanie jest dobre. Ale jeśli jest inaczej to może przez to, że wszystko masz w klasie Klikniecie. Wtedy problem wynika z tego, że wszystkie kontrolki są "zwykłe", a funkcja Klikniecie jest statyczna. W C# (jak i w C++) z funkcji statycznej można odwoływać się tylko do zmiennych statycznych i wywoływać tylko inne funkcje statyczne
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: [C#] Modyfikatory partial - nie do końca działają.
Wszystko na kontrolce "rysowałem" sam, czyli bezpośrednio ustawiałem w kodzie (Visual robi bałagan szczerze mówiąc). Teraz chciałem poćwiczyć rozbijanie klas i metod na kilka plików i po części mi wyszło.

Ta metoda, którą podałeś być może jest skuteczna, ale Visual krzyczy, że nie ma czegoś takiego jak ActiveForms. Jest na mój problem jeszcze jakieś inne rozwiązanie?
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
c# partial

Podobne wątki ([C#] Modyfikatory partial - nie do końca działają.)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak działają języki programowania i systemy operacyjne ? szymon1051 22 19076 06.04.2013, 21:12
Ostatni post: Ajgor
  [Java] Program działa u mnie a u innych nie do końca WeaKPoinT 4 1633 29.08.2011, 14:29
Ostatni post: koneton
  [C++] Jak skasować dane z końca pliku, nie kopiując całego pliku Szachista 2 2070 26.02.2010, 13:23
Ostatni post: Szachista

Skocz do:


Wybrane wątki ([C#] Modyfikatory partial - nie do końca działają.)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Programowanie windy (problem) w C++ mysza2323 2 6503 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 6778 22.10.2019 17:48
Ostatni post: Szachista
  Książki do nauki C# olek23 14 20299 17.10.2019 13:06
Ostatni post: Ajgor
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 8000 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 4529 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 21516 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7039 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 7750 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 9664 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 9129 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 9114 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 11161 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4468 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 10388 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 10655 17.04.2019 10:20
Ostatni post: ptrick