Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    7

    leggere il valore di un textBox in un form da un'altra classe c#

    ciao
    ho la necessita` di leggere il valore di un textBox in un form da una classe che non e` quella direttamente collegata al form.

    es Form1.cs[design] classe collegata Form1.cs

    devo leggere il valore di textBox5.text dalla classe leggivalori.cs .

    Se in leggivalori eseguo Form1 leggi = new Form1()

    e scrivo leggi. ==> non accedo ai controlli che volevo

    come posso fare?

    spero di essere stato chiaro ;-)

    grazie ciao

  2. #2
    Hai impostato visibilità public ai controlli in questione?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    7
    grazie per il suggerimento:
    con public accedo ai textBox e agli altri control ma pur essendo compilati
    riesco ad ottenere solo i valori di default di quando si apre il form
    per esempio ==> niente/null "" per i textBox
    o UnChecked per i checkButton

    riesci ad aiutarmi?

    grazie e ciao

  4. #4
    Se lì fai
    codice:
    Form1 leggi = new Form1();
    e la form che viene mostrata è istanziata altrove ovviamente non pescherai i suoi valori, ma quelli di questa istanza.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    7
    si hai ragione ...

    Come faccio a recuperare i valori dell'istanza aperta?

    grazie ciao

  6. #6
    Passa al codice dell'altra classe l'istanza del form aperto come parametro.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    7
    Abbi pazienza non sono ancora cosi` smart con la terminologia c#
    mi puoi scrivere per cortesia un esempio come prima?

    form1...

    grazie ancora

  8. #8
    Chi è che richiama il codice di quest'altra classe? Il codice del form?
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    7
    spero di essere stato chiaro

    ciao ciao e grazie in anticipo



    Classe convC.cs

    namespace dG
    {
    class convC
    {

    public void calcolaConvC()
    {

    //QUESTE DUE LINEE NON FUNZIONANO perche` come da Te suggerito aprono la nuova istanza
    distG leggoFormDG = new distG();
    string aaa = leggoFormDG.textBox1.Text;



    ===============================

    lancio della classe convC da dentro la classe distG che é legata al FORM

    classe distG.cs

    namespace dG
    {
    public partial class distG : Form
    {

    public distG()
    {
    InitializeComponent();

    …..
    …..
    …..

    private void generaFile_Click(object sender, EventArgs e)
    {

    convC startExcel = new convC();

    startExcel.calcolaConvC();

    …..

  10. #10
    Fai sì che la classe convC accetti (o come parametro del costruttore, o come parametro del metodo calcolaConvC) un oggetto di tipo distG; il codice di distG che richiama calcolaConvC ci passerà quindi this.
    In alternativa, se la classe convC è una classe ausiliaria che non si occupa direttamente di interfaccia grafica, sarebbe un design più pulito fare sì che il codice chiamante ci passi direttamente i valori su cui deve operare, in modo che l'interfaccia e il codice di backend siano il più possibile disaccoppiati.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.