Tworzenie aplikacji WinForms bez pomocy projektanta

0

Chodzi mi w tej chwili o większe aplikacje a nie takie typu 'Hello World' czy 'Kalkulator'. Czy potrafilibyście zaprogramować pełen interfejs użytkownika bez pomocy projektanta? Czy ta umiejętność, jest potrzebna w pracy jako programista C# gdzie wymagają 'znajomości WinForms'?
Chciałbym aby Wasze odpowiedzi były konkretne i poparte przykładami ponieważ jest mi to potrzebne do pewnego... hmm referatu czy jak zwał tak zwał :).

5

A jaki ma to sens? W dużych projektach i tak można z designera korzystać. Najczęściej w takich wypadkach formatka nie różni się niczym od tej.. "standardowej" poza tym, że implementuje jakiś interfejs, którego implementację dopiero wykonuje się ręcznie.
Nawet w przypadku, gdy formy pokazywane są dynamicznie to dzieli się wszystko na małe kawałki, panele jako UserControls, które można stworzyć oddzielnie.
Dotyczy to jednak innego problemu - pisać kilkanaście albo kilkadziesiąt form ręcznie i musieć skompilować cały projekt / test, by się przekonać, że wszystko jest na swoim miejscu - to upierdliwość.
Są natomiast też takie sytuacje, w których część takowej formatki jest generowana i dopiero w nich potrzebna jest umiejętność programowania interfejsu bez designera.

Podsumowując - trzeba wiedzieć jak ręcznie tworzyć formy, ale nie jest to problem "dużego projektu". I tak swoją drogą - czy tak trudno podejrzeć jak robi to designer i zrobić kopiuj-wklej ;)?

3

Bez designera to sobie można robić w WPF, w WinForms to tragedia.

1
Ktos napisał(a):

Bez designera to sobie można robić w WPF, w WinForms to tragedia.

No wiesz, to zależy od ludzi też. Jak komuś się woda zagotowała, pod czepkiem, to wyłącza "Form1.cs [Design]" i przechodzi do "Form1.Designer.cs", a potem to już jedzie równo jak czołg, dopóki nie zacznie się użalać nad sobą, że mu coś nie wyszło, a miało niby wyjść itd. :) Wg. mnie nie ma to w ogóle sensu, taka zabawa w kotka i myszkę jak są projektanty, tym bardziej, że mamy w końcu XXI w. i z każdą nowszą wersją pojawiającego się na rynku IDE, coraz bardziej są one udoskonalane. Co do WPF, zgodzę się tu w 100% z @Ktos' em, dodam jeszcze, że tu chodzi o pliki *.xaml gdzie możesz sobie w kodzie ustalić wielkość butona, czy inne drobiazgi na jakichkolwiek tylko chcesz kontrolkach. ;)

0

Pisanie o WinFormsach i XXI wieku w jednym zdaniu to lekka perwersja. ;P

1

Czy potrafilibyście zaprogramować pełen interfejs użytkownika bez pomocy projektanta?
Tak. Tylko po co...

using System;
using System.Windows.Forms;
class TestForm:Form
{
   public TestForm()
   {
      SuspendLayout();
      var lab = new Label();
      lab.Left = 100;
      lab.Top = 50;
      Controls.Add(lab);
      var tb = new TextBox();
      tb.Left = 100;
      tb.Top = 100;
      tb.Text = "Pisz tutaj";
      Controls.Add(tb);
      var but = new Button();
      but.Left = 100;
      but.Top = 150;
      but.Text = "Kliknij mnie";
      but.Click += (s,e) => { lab.Text = tb.Text; };
      Controls.Add(but);
      Width = 400;
      Height = 300;
      PerformLayout();
   }
   [STAThread]
   static void Main()
   {
      Application.Run(new TestForm());
   }
}

Czy ta umiejętność, jest potrzebna w pracy jako programista C# gdzie wymagają 'znajomości WinForms'?
Nie. Ale na pewnym poziomie znajomości „umiejętność” sama przyjdzie.

Pisanie o WinFormsach i XXI wieku w jednym zdaniu to lekka perwersja. ;P

  1. Twierdzisz, że WinForms istniały w XX wieku i wcześniej?
  2. Nie przesadzaj.

czy tak trudno podejrzeć jak robi to designer i zrobić kopiuj-wklej ;)?
wcale nie robi tego najlepiej ;-)

2

Jeśli ktoś kazał by mi pisać interface to bym go po prostu wyśmiał - odpowiadając na pytanie nie potrafił bym. To nie jest jakiś tam HTML i CSS, który wygląda inaczej w każdej przeglądarce, żeby troszczyć się o każdy element, wyobrażać sobie jak się zachowa w praktyce. I tak w końcu taki "hardcor" musi prędzej czy później sprawdzić jak to się zachowuje w RealWorld. Podobna sytuacja jest pomiędzy programowaniem w ASM a języku wysokiego poziomu. Niby masz większą kontrolę, ale i tak korzyści są tak małe, że nikt tego nie robi a jeśli to masz zawsze wstawki. Tutaj też nikt nie broni ci pogrzebać w kodzie wygenerowanym przez WYSIWYG jeśli coś nie gra.
IMO jest to po prostu marnowanie zasobów w postaci czasu programisty. Nawet rozrzucenie kilku buttonów po wspomnianym kalkulatorze w designerze zajmie góra 5 min. a napisanie? W imię czego pytam się?
Jest to chyba zaszłość C++'owców, którzy nigdy nie mieli dobrego designera do swoich okienek i myślą, że jak poszpanują kodem to są cool :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1