Question

labelTotal détient la valeur de la classe clavier (C # WinForms). ToString a été overriden pour revenir labelTotal.Text.

namespace Gui3
{
    public partial class Keypad : Form
    {
        public Keypad()
        {
            InitializeComponent();
        }
        public override String ToString() {return labelTotal.Text;}
        private void buttonOk_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        ...

Pourquoi ne pas keypad.ShowDialog () ToString (). Retour labelTotal.Text?

namespace Gui3
{
    public partial class Setup : Form
    {
        public Setup()
        {
            InitializeComponent();
        }
        private void buttonStartDepth_Click(object sender, EventArgs e)
        {
            Keypad keypad = new Keypad();
            ////////// Not working as expected /////////
            String total = keypad.ShowDialog().ToString();
            ...
Était-ce utile?

La solution

Parce que la méthode ShowDialog() renvoie un System.Windows.Forms.DialogResult ENUM valeur, et non l'instance de votre formulaire. ToString() sera appelée sur la valeur ENUM retournée par cette fonction.

Vous pouvez essayer quelque chose comme ce qui suit (en supposant que keypad retourne correctement DialogResult.OK):

private void buttonStartDepth_Click(object sender, EventArgs e)
{
    Keypad keypad = new Keypad();

    if (keypad.ShowDialog() == DialogResult.OK)
    {
        String total = keypad.ToString();
    }
}

Autres conseils

Parce que vous n'êtes pas appeler KeyPad.ToString () que vous appelez DialogResult.ToString (). ShowDialog () retourne un DialogResult.

La méthode que vous appelez ShowDialog() affiche réellement la boîte de dialogue

Je pense que ce que vous voulez faire est

keypad.ShowDialog();
String total = keypad.ToString();

ShowDialog renvoie un DialogResult, pas de référence à la forme.

Essayez de changer

String total;

if (keypad.ShowDialog() == DialogResult.OK)
{
    total = keypad.ToString(); 
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top