Кнопка "Скрыть / показать" во время выполнения
Мне нужна ваша помощь с 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);