Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C# toisen formin textboxiin kirjoittaminen

eakem [20.04.2006 21:44:19]

#

Yritän tehdä C#:lla (periaatteessa) yksinkertaista asiaa, eli Form1:llä button, jota painaessa pitäisi kirjoittaa Form2:n textboxiin vaikkapa sana "foobar".
Miten tuo toisen formin textboxiin viittaaminen/kirjoittaminen pitäisi tehdä?

EDIT: Selvisikin jo. Kyllä meni aikaa mitättömässä asiassa...

panttu [14.05.2006 00:51:59]

#

Ilmeisesti ongelma on ratkennut, mutta kerrotaanpa yksi ratakisu, kun niitä luultavasti tulee vielä useita muitakin vaihtoehtoja.

Ilemeisesti Form2:ia ei voi olla kuin yksi kappale olemssa, kun siihen viitataan luokan nimellä kysymyksessä, joten siitä on mahdollista tehdä staattinen, jolloin Form1.Button1_Click voi viitata siihen suoraan esim. Form2.SetLabelText("Halleluja!");.

Metabolix [14.05.2006 09:50:43]

#

Helpoin ratkaisu kuvattuun ongelmaan on varmaankin määrittelyssä muuttaa sen näkyvyyttä. Tällaisen ratkaisun laitoin VB.NETin puolelle muinoin, C#:ssa toimii aivan samalla tavalla.

' Tätä voi muuttaa vain tässä formissa:
Private OmaNappula As System.Windows.Forms.Button

' Tätä voi muuttaa muualtakin:
Public YleinenNappula As System.Windows.Forms.Button

Sitten vain normaaliin tapaan pisteitä väliin.
Form.YleinenNappula.Width = 10.
Tietysti tuon voi tehdä vielä kauniimmin jollakin friend-viritelmillä, jos .NET sellaiset tuntee.

anttipanda [30.05.2006 12:50:29]

#

>>Tietysti tuon voi tehdä vielä kauniimmin jollakin friend-viritelmillä, jos .NET sellaiset tuntee.
Ei ole ystäviä C#:ssa. Eikä ystävät ole kauniita missään muussakaan kielessä.

Pääformin avulla voidaan aliformeille asettaa viittauksia toisiin, ja niiden kautta voidaan kutsua toisen formin metodeja.

Myös omien eventtien laukaiseminen on hyvä tapa, niihin tehdään sitten sopivassa paikassa tapahtumankäsittelijät.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta