Кнопка "Скрыть / показать" во время выполнения

Мне нужна ваша помощь с C# и некоторые графические проблемы: я разрабатываю очень простое приложение. Существует уникальная форма с именем DeltaPregView, контроллер для формы с именем DeltaPregController и класс, который содержит Main проекта:

Основной класс:

using System;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Forms;

namespace deltaPreg
{
    static class Program
    {
        [MTAThread]
        static void Main()
        {
            //create the view
            DeltaPregView view = new DeltaPregView();
            //link the view to the APP
            Application.Run(view);
            //initialize the controller of the APP
            DeltaPregController controller = new DeltaPregController(view);
        }
    }
}

Посмотреть для класса:

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace deltaPreg
{
    public partial class DeltaPregView : Form
    {
        public DeltaPregView()
        {
            InitializeComponent();

        }

        public void init()
        {
            prova.Visible = false;
        }

    }
}

и контроллер для просмотра:

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;

namespace deltaPreg
{
    class DeltaPregController
    {
        #region variables
        private DeltaPregView view;
        #endregion

        public DeltaPregController(DeltaPregView view)
        {
            this.view = view;
            //start the reading process
            start();
        }
        private void start()
        {
            view.init();
        }
    }
}

Я хотел бы скрыть кнопку "prova", но в моей программе ничего не изменилось. Я новичок в управлении winforms, заранее спасибо.

1 ответ

Решение

Проблема заключается в том, что вы распечатываете форму перед вызовом init функция в DeltaPregView,

Один из способов решить эту проблему - заменить эти строки:

    //link the view to the APP
    Application.Run(view);
    //initialize the controller of the APP
    DeltaPregController controller = new DeltaPregController(view);

Для того, чтобы:

    //initialize the controller of the APP
    DeltaPregController controller = new DeltaPregController(view);
    //link the view to the APP
    Application.Run(view);
Другие вопросы по тегам