Windowsフォームプログラムは、追加方法をダウンロードします。 .NETFrameworkでのプログラミング。 LoginPresenterのテスト
今日は、Visual Studio2013IDEでC++Windowsフォームプロジェクトを作成する方法を説明します。 右側では、VS 2012以降、作成可能なプロジェクトのリストから、Windowsフォームの補遺項目が削除されました。 私はC++でそれらについて話している、あなたは作成されているプロジェクトの配布のオプションを選択することによってC#でそのようなプロジェクトを作成することができる。 ただし、そのようなプロジェクトをリストから選択できないという事実は、作成できないプロジェクトについては語っていません。 私自身、この記事をさらに詳しく説明したいと思います。
最初に行う必要があるのは、VisualStudioを起動することです。 VSが起動されるとすぐに、File \ u003e Create \u003eProjectが順番に押されます
その後、プロジェクトの種類を選択するよう求められます。 Visual C ++拡張機能CLR拡張機能を選択し、空のCLRプロジェクトを選択する必要があります。
プロジェクトが作成されている場合は、ブラウザで、作成されたプロジェクトに対してマウスの右ボタンでソリューションをクリックします。 表示されたコンテキストメニューでは、[追加]> [要素の作成]が順番に選択され、表示されたメニューでは、UIセクションで[Windowsフォームフォーム]が選択されます。
フォームが送信されると、ブラウザソリューションでMyForm.cppファイルが選択されます。 あなたの前で 新しいタブ 1行のコードで:
#include "MyForm.h"
このファイルには、次のコードを追加する必要があります。
名前空間システムの使用; 名前空間System::Windows::Formsを使用する; void Main(array
プロジェクトの当局から話を聞いてみましょう。 選択されたpіdrozdil システム Builderを分割し、メニューから[サブシステム]を選択して[Windows(/ SUBSYSTEM:WINDOWS)]を選択し、[開始]をクリックします。
プロジェクトの権限を縮小することなく、ドダトコボの細分化に移りましょう。 エントリーポイント書きます 主要その後、キーを押します わかった。
どのプロジェクトが完了するか。 フォームの現在の外観を編集するには、ソリューションブラウザでMyForm.hファイルをクリックして、MyForm.h[コンストラクタ]タブに移動します。
良い1日を!
Model-View-Presenter-カスタムデザインテンプレートを提示します。 一見すると、すべてが単純に見えます。єモデル(モデル)、画面上のビジネスロジック全体に復讐するようなもの。 あなたが知っている表示/送信(表示)、それらの他のデータを表示する方法; 幸運な代表者(Presenter)は、ビュー内のcoristuvachaの細分化に反応し、モデルを変更し、navpakiを変更します。
プロジェクト内のフォームの数が1つになると、折りたたみが始まります。
記事は次のとおりです。
-トロシー理論;
- 燃焼の問題 WindowsフォームでのMVP(パッシブビューzocrema)の実装。
-フォーム間の遷移の実装とパラメータの転送、モーダルウィンドウの機能。
-依存性注入へのIoCコンテナの提携-DIテンプレート(およびコンストラクター注入自体);
-MVPプログラムのテストの特定の機能(NUnitおよびNSubstituteテスト用)。
-すべてをミニプロジェクトの例に適用し、やる気を起こさせる必要がありますが、それを正しく行う必要があります。
記事が詰まっています:
-Zastosuvannyaテンプレートアダプター(アダプター);
-アプリケーションコントローラテンプレートの簡単な実装。
この記事は誰のためのものですか?
小売業者の主なランク-chuliのようなWindowsフォーム上のpochatkivtsivですが、試していないか、試してみましたが、しませんでした。 歌いたい、WPFの場合はdeyakіyizastosovnі、Web開発の場合はnavіt。
問題文
簡単なタスクを考えてください-3つの画面を実装します:1)認証画面;
2)ヘッドスクリーン;
3)koristuvachの名前を変更するモーダル画面。
kshtalt tsyogoのschosを訪問する罪:
Trochy理論
MVPは、ゴッドファーザーのように、明確にするための発明のMVC(Model-View-Controller)であり、ビジネスロジックを視覚化の方法に分割します。インターネットでは、非個人的なMVPの実装を見ることができます。 提出するデータの配信方法に応じて、次の3つのカテゴリに分類できます。
-パッシブビュー:プリミティブデータ(行、数値)を表示するための最小限のロジックを排除するためのビューで、プレゼンターが決定を行います。
-プレゼンテーションモデル:ビューは、プリミティブデータだけでなく、ビジネスオブジェクトも送信できます。
-監視コントローラー:Viewはモデルの存在を認識し、モデルからデータを取得します。
パッシブビューの変更を見てみましょう。 主な図面を説明しましょう:
-データ表示のための最良の合意であるデータインターフェース(IView)。
-外観-IViewの特定の実装。あたかもそれ自体を特定のインターフェイス(Windowsフォーム、WPF、またはコンソールを開く)で表示でき、それを使用するユーザーについては何も知りません。 さまざまな形があります。
-モデル-ビジネスロジックにビジネスロジックを提供します(適用:データベース、リポジトリ、サービスへのアクセス)。 多分それは別のクラスで、あるいは再び、インターフェースと実装で提示されます。
-インターフェース(IView)を介して提出物にメッセージを送信する代表者。これには、提出物、データ入力の簡単な妥当性確認(検証)をサブスクライブする必要があります。 また、モデルまたはインターフェースに復讐し、Viewからモデルまたはインターフェースにデータを転送し、更新を要求します。
代表者の典型的な実装
public class Presenter(private readonly IView _view; private readonly IService _service; public Presenter(IView view、IService service)(_view = view; _service = service; _view.UserIdChanged + =()=> UpdateUserInfo();)private void)( var user = _service.GetUser(_view.UserId); _view.Username = user.Username; _view.Age = user.Age;))
クラス(さまざまなインターフェイス、サブ)の最小限の接続を提供するプラスは何ですか?
1.決定することなく、任意のコンポーネントのロジックを自由に変更できます。
2.ユニットテストの絶好の機会。 TDDshanuvalniksはグリップを手に入れることができます。
やってみましょう!
プロジェクトを整理する方法は?
ソリューションが4つのプロジェクトから形成されていると考えてみましょう。-DomainModel-復讐サービスとすべてのリポジトリ、つまり-モデル;
-プレゼンテーション-視覚的な表現、tobtoの視界に横たわるように、レポートの論理を復讐すること。 すべての代表者、インターフェースの外観およびその他の基本クラス。
-UI-Windowsフォームの補遺、その他のフォーム(インターフェイスの外観の実装)および起動ロジック。
-テスト-ユニットテスト。
Main()に何を書くか?
Windowsフォームプログラムを実行する標準の実装は次のようになります。Private static void Main()(Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm());
Ale miがそれを行ったので、代表者が外観をケルブ化するために、彼はコードが次のようになるようにしたいと考えています。
Private static void Main()(Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var presenter = new LoginPresenter(new LoginForm()、new LoginService()); //依存性注入presenter.Run();)
最初の画面を実装してみましょう。
基本的なインターフェース
//すべての外観のグローバルメソッドpublicinterfaceIView(void Show(); void Close();)//コントラクト。この代表者はフォームと対話しますpublic interface ILoginView:IView(string Username(get;)string Password(get; );)イベントアクションログイン; //pod_ya"koristuvachはログインを試みます"voidShowError(string errorMessage); )public interface IPresenter(void Run();)//愚かな承認サービスpublic interface-承認に成功しました。それ以外の場合はfalse)
トリビュート
public class LoginPresenter:IPresenter(private readonly ILoginView _view; private readonly ILoginService _service; public LoginPresenter(ILoginView view、ILoginService service)(_view = view; _service = service; _view.Login + =()view .Password);)public void Run ()(_view.Show();)private void Login(string username、string password)(if(username == null)throw new null)throw new ArgumentNullException( "password"); var user = new User(Name = username、Password = password); if(!_service.Login(user))else(//認証が成功し、ヘッド画面が起動します(?))))
フォームを作成し、それをILoginViewインターフェースに実装します。これは、ILoginService実装をどのように作成するかは関係ありません。 以下は1つ未満の機能です。
パブリック部分クラスLoginForm:Form、ILoginView(// ... public new void Show()(Application.Run(this);))
これは、アドオンを開始してフォームを表示し、フォームを閉じた後、プログラムを正しく完了するための呪文です。 それまで振り返ってみましょう。
裁判はありますか?
代表者(LoginPresenter)が作成された瞬間から、フォームやサービスを実装せずに、ヨガの単体テストをすぐに実行できます。テストを作成するために、私はNUnitライブラリとNSubstituteライブラリ(インターフェイスの背後にスタブクラスを作成するためのライブラリ、モック)の寄稿者です。
LoginPresenterのテスト
パブリッククラスLoginPresenterTests(プライベートILoginView _view;パブリックボイドSetUp()(_view = Substitute.For
プログラム自体である限り、テストは悪くなります。 エール、だからchiіnakshe臭いは正常に通過しました。
パラメータを使用して別の画面を起動するのは誰で、どのようにしたらよいですか?
覚えていると思いますが、私は認証を成功させるための正しいコードを書きませんでした。 別の画面を起動するにはどうすればよいですか? まず第一に、それは考えに落ちます:// LoginPresenter:ログインに成功しましたvar mainPresenter = New MainPresenter(new MainForm()); mainPresenter.Run(user);
アレミーは、代表者が症状、彼らのインターフェースのクリミアについて何も知らなかったことに気づきました。 仕事とは?
アプリケーションコントローラーのパターンが助けになります(実装は簡略化されています)。その真ん中には、実装のオブジェクトをインターフェイスの背後に配置する方法を知っているIoCコンテナーがあります。
コントローラーは、コンストラクターパラメーター(新しいDI)によってスキン代表に渡され、おおよそ次のメソッドを実装します。
パブリックインターフェイスIApplicationController(IApplicationController RegisterView
少しリファクタリングした後、プログラムの起動は次のようになります。
Private static void Main()(Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //すべてのフォールバックが1つの場所に登録されるようになりました:var controller = new ApplicationController(new LightInjectAdapder()).RegisterView
新しいApplicationController(new LightInjectAdapder())についてのいくつかの言葉。 IoCコンテナーとして、LightInjectライブラリをハッキングしましたが、直接ではなく、アダプター(アダプター・パターン)を介してハッキングしたため、コンテナーを別のアダプターに変更する必要がある場合は、別のアダプターを作成して、コントローラ。 勝利を収めたすべての方法は、ほとんどのIoCライブラリにあり、折りたたまれており、無罪です。
追加のIPresenterインターフェースが実装されます。これにより、Runメソッドがパラメーターを受け入れる可能性が低くなります。 最初の画面と同様に、新しいビューで徐々に減少します。
今、誇りがないわけではありませんが、別の画面を起動し、許可されたkoristuvachをそこに渡します。
Controller.Run
フォームを取得して閉じることはできません。
行View.Close()の水中石の1つ。その後、最初のフォームが閉じられ、同時にそれから追加されます。 右側では、Application.Run(Form)が標準のWindowsウェイクアップループを実行し、渡されたフォームをプログラムのメインフォームと見なします。 これは、プログラムがForm.ClosedサブでExitThreadをハングさせ、フォームが閉じた後にプログラムを呼び出して閉じるためです。この問題を回避するには、いくつかの方法があります。そのうちの1つは、メソッドを変更することです。Application.Run(ApplicationContext)を実行してから、ApplicationContext.MainFormの機能をオーバーライドします。 フォームコンテキストへの転送は、プログラムコントローラーの助けを借りて実装されます。プログラムコントローラーでは、ApplicationContextオブジェクト(インスタンス)が登録され、代表の開始時にフォームコンストラクター(私はDIを開始します)に送信されます。 最初の2つの画面を表示する方法は次のようになります。
// LoginForm public new void Show()(_context.MainForm = this; Application.Run(_context);)// MainForm public new void Show()(_context.MainForm = this; base.Show();)
モーダルウィンドウ
モーダルウィンドウの実装は、困難を意味するものではありません。 [名前の変更]ボタンで、Controller.Runにチェックマークが付いていますPublic new void Show()(ShowDialog();)
違いを認識する必要がある限り、Formクラスにはすでに実装があるため、メソッドを変更する必要はありません。
さて、彼らはそれを台無しにしました...それは今CE vikoristatiはどうですか?
これで、フレームの準備ができたら、新しいフォームを追加すると、次のようなショートカットが作成されます。- 外観のインターフェース、モデルのインターフェース(必要に応じて)を記述します。
- これは、代表者であるprima facie virishivshiによって実現可能であるため、新しいデータをモデルとして転送します。
- [オプション]私たちは代表者のためにテストを書きます、私たちは考えを変えます、すべてが大丈夫です。
- [オプション]実装可能なモデルとそのテスト。
- フォームを提供し、外観のインターフェイスを実装します。
あなたはからデモプロジェクトを拾うことができます
今、私たちの最初の素晴らしい追加を作成する時が来ました。
この部分で見られる重要なもの:
拡大されている補遺は小さな形になります、それは私がずっと前に発明されたプログラムの考えを繰り返します:形には食べ物があります""。 ブラウザをボタンに向けようとすると「 とてもクール!あなたはいつも私たちをチェックします。 ボタンを押す " やああなたは何にも囲まれません。
このプログラムを作成すると、すべてのサプリメントの作成の主な原則を見ることができます C#、そしてそれらが固有の目標であるかどうかにかかわらず、それらの助けを借りて実装の方法をナビゲートします。
新しいプロジェクトを作成し、プログラムをテンプレートとしてインストールします Windowsフォーム、少し1に示すように:
1.新しいプロジェクトの作成。
プロジェクトに名前を付ける RandWindowボタンを押します わかった.
働くvikno MS Visual Studio追加の失効の開始を復讐するために(図2)。
2.追加のウィンドウ。
少数の数字では、次のようにマークされています。
- ヴィクノ ツールボックス(制御要素のパネル)-作成中のフォームに配置できる制御要素。
- ヴィクノ ソリューションエクスプローラー(Oglyadachの決定)-ここであなたはそのような結び目を作ることができます: プロパティ-プロジェクトの調整、 リンク(Possilannya)-ライブラリプロジェクトへの接続、および外部コード(拡張子付き)のファイルのプロジェクトへの作成と接続 .cs)およびドラフトフォームに接続されています(たとえば、 Form1).
- ヴィクノ クラスビュー(Vіknoクラス)–ここではプログラムクラスのすべての作成を見ることができます。
- ヴィクノ プロパティ(パワー)-カービングまたはフォームの作成の要素があるかどうかを選択すると、このオブジェクトのすべてのパラメーターを計算したり、ロックに設定された値を変更したりできます。
ウィンドウプログラムの作成は、必要なすべてのダイアログウィンドウが作成され、必要な要素が配置されるまで実行されます。 Nadali mi nalashtovuemo podia、 それらをcoristuvachemにする、ロボットプログラムのそのnalashtovuemo技術的側面。 私たちの頭の中では、必要なすべてのコントロール要素をヘッドフォームに配置し、その後、マウスを移動するためのコントロールとボタンを押すためのコントロールを追加します。
フォームに新しい要素を追加する
その後、プロジェクトの名前を入力し、必要なテンプレートを挿入してボタンを押しました わかった, MS Visual Studioウィンドウプログラムのフレームを自動的に作成し、その後、新しいウィンドウ要素を追加できます。ツールウィンドウから必要なウィンドウ要素をドラッグする必要がある場合( ツールボックス).
私たちのviknuのニーズ 2 入力フィールドの要素。マウスの入力の座標が表示され、プログラムの動作を理解しやすくなります。
ウィンドウの中央に、要素の助けを借りて作成したものが書き込まれます ラベル.
底は縫い付けられます 2
ボタン。
Trochはviknaのワークピースを伸ばします。 右ボタンで新しいものを押すと、次のように表示されます コンテキストメニュー。 権限のポイントを押すために新しいものを持ってください、あなたがウィンドウのパラメータを変えることができるならば、あなたはそれを変えることができます。 少しの3つの画像の場合、最も(原則として)必要な権限:
図3.C#.NETのウィンドウ(フォーム)のさまざまな電力レベル。
窓のワークピースを伸ばすためにトローチし、必要なすべての要素を追加します。 小さな4のためにあなたは窓でそれらを平手打ちすることができます ツールボックス:
赤ちゃん4.ツールボックスの幅要素を折りたたんだ形状にドラッグアンドドロップします。
行の当局に行きます Label1テキストを「 あなたは最高の光を作るために働きますか?"。 また、権限がわかっているフォントタイプを変更します フォント(図5)。
5.Label要素の権限フォント。
フォントタイプを設定した後 タホマ、フォント幅 大胆なとrozmirは等しい 16
(図6)。
図6.フォントの調整。
ボタンのテキストを変更できる、バイコリストパワー 文章.
Otrimanのワークピースvyknaプログラムは次のようになります(図7)。
図7.形状は次のようになります。
ロボットプログラムの技術的部分
- 手の甲には、マウスの動きのサンプルと座標の実現可能なビューがあります。 バツі y入力フィールドの2つの作成。
- マウスのスキンキーをガタガタ鳴らす機能を作りましょう(特にコードのストラップはボタンで使用できます」 とてもクール!»).
- ウィンドウが正しい方向に移動する方法を実装するコードを提供して、カーソルがボタンに近づくようにします« とてもクール!».
フォームによるマウスの重要な動き
作成中のプログラムのフォームの一部を無差別にクリックします( いいえ要素の1つ)。次に、マウスの右ボタンをクリックして、フォームのパワーに移動します。 -> コンテキストメニュー 権限.
今、可能なポディアのリストに行く必要があります、yakіは勝利を収めることができます。 ボタンをクリックしてください イベント"(Podії)、小さな8に示されているように:
8.可能なエントリのリストに移動します。
koristuvachがマウスをウィンドウに転送する場合、 オペレーティング·システムインジケーターの現在の座標を使用してプログラムにヘルプを送信します。 悪臭を放つ必要があります。
obrobniktsієїpodіїを認識するために、行を知ってください MouseMove(小さい9)、その後、フィールドのクラッターが右利きになり、マウスの手のコピーが自動的に提供され、機能が提供されます。 Form1_MouseMove私たちのプログラムのコードで。
図9.右クリックすると、右手MouseMoveが行に表示され、関数コンピューターのコードへの遷移が自動的に作成されます。
この関数に2行を追加して、コードが次のようになるようにします。
/ * http:// website、Anvi * / private void Form1_MouseMove(object sender、MouseEventArgs e)(// X座標を行に移動し、入力フィールドに書き込みますtextBox1.Text = e.X.ToString();//移動します入力フィールドに書き込む行のY座標textBox2.Text=e.Y.ToString();
フォームの上にあるマウスインジケーターのサブムーブを変換するこの関数は、 2
パラメータ:オブジェクトwdRunnerとインスタンスからクラス MouseEventsArgs、ターゲットの目的地と他の現在の当局の座標に関する情報を復讐するため。
textBox1і textBox2クラスのceインスタンス テキストボックス、これは入力フィールド要素によって実装されます。
これらのインスタンスのメンバー 文章これらのフィールドにテキストを挿入できます。
このランクでは、プログラムをコンパイルする必要があります( F5)、ウィンドウのフォームの後ろにマウスのインジケーターを移動すると、インジケーターの座標(フォームの中央)が残り、中断することなく変更されます。
それでは、フォームの準備に移りましょう。 特別なブックマークをクリックする人 (Form1.cs [コンストラクター])、少し10に示すように:
10. C#フォームコンストラクターにジャンプします。
最初のボタンをクリックして地下鉄を作成します。 Visual Studio押されたときにボタンを処理するためのコードを自動的に追加します。
コードに次の行を追加します。
/ * http:// website、Anvi * / private void button1_Click(object sender、EventArgs e)(//「You'rein」というテキストでメッセージを表示しますMessageBox.Show( "You're in !!"); //アプリケーションを終了します。Exit();)
次に、コンストラクターに戻り、友達にボタンを押して、それをフローティングクリックできるようにします。
/ * http:// website、Anvi * / private void button2_Click(object sender、EventArgs e)(//「購入を躊躇しませんでした」というテキストを使用してメッセージを入力します//別のパラメータはタイトルですメッセージウィンドウ"Uvaga"//MessageBoxButtons.OK-通知フォームのボタンの種類//MessageBoxIcon.Information-通知の種類-マチマ「情報」アイコンと可聴音MessageBox.Show("私たちはあなたのことを躊躇しませんでした重要なリクエスト"、" Uvaga "、MessageBoxButtons.OK、MessageBoxIcon。情報);
バカイトのように、mi trochsは、それがどのように機能するかを示すために、毎週の欠員情報のコードを折りたたんでいます。 関数に渡される口ひげパラメータ 公演終了コードでコメントアウトしました。
これで、マウスがボタンに近づいた瞬間のウィンドウの動きに気付かなくなりました。 とてもクール».
どのmidodamoに対して、関数のコード:
プライベートボイドForm1_MouseMove(オブジェクト送信者、MouseEventArgs)
原理はさらに単純です。マウスの手の座標を考慮して、ボタンをわずかなマージンで命名する正方形の悪臭に入らないように変更します。 もしそうなら、ウィンドウを移動するための勝利となる2つの10進数を生成します。
マウスインジケーターをボタンに向けることを通知することもできますが、特別な圧力をかけずにcoristuvachがボタンに押されたリンクで、記念のぼかしが表示されるため、カーソルをボタンの近くのゾーンに置くだけです。ボタン。
だから私たちはデシュチョを声に出す必要があります」 労働者「Smіnnih、yakі私たちは勝利を与えるでしょう。
直立した数の生成
クラス ランダムの C#єpseudovipad番号のジェネレータ-tobto。 このクラスは、vipadkovnostiの統計的基準と一致する数列のタイプで区別されます。Random rnd = New Random();
ここで、クラスのインスタンスを声に出しました ランダム (rnd)、そのようなvipadkovі番号の助けを借りて。 ナダリ私たちはコードを打ち負かします、心 rnd.次(generation_range)または rnd.次(からの -1 ) 引き起こす vipadic番号.
ですから、私たちはもう少し変更を表明します、それらのいくつかはすぐに開始されます。
Windows.Forms.SystemInformation.PrimaryMonitorSize.Width; int _h = System.Windows.Forms.SystemInformation.PrimaryMonitorSize.Height;
tmp_locationその時のgoloshuetsya、将来のtimchasovoのschobはviknaのキャンプを救います。
したがって、垂直シフトの場合、ウィンドウが画面の境界をはるかに超えてしまう可能性がある人について考える必要があります。
ショブ 画面をに割り当てます C#.NET 、vikoristovuvatyします:
/ * http:// site、Anvi * / System.Windows.Forms.SystemInformation.PrimaryMonitorSize_hі _w初期化には課金されるため、独自の画面koristuvachに注意してください。
この関数のコードは次のようになります。
/*http://esate.ru、Anvi * / private void Form1_MouseMove(object sender、MouseEventArgs e)(//行のX座標を変換し、入力フィールドに書き込みますtextBox1.Text = e.X.ToString(); / / Y座標を行に変換し、入力フィールドに書き込みますtextBox2.Text = e.Y.ToString(); // X軸とY軸に沿った座標が正方形のifにあるように、「だから、素晴らしく」ボタン(e.X> 80 && e.X 100 && e.Y(_w --this.Width / 2)|| tmp_location.Y(_h --this.Height / 2))、新しく生成されたthis.Location = tmp_location;) )。
Axis、vlasne、そしてそれだけです。 プログラムを完了したら、「それで、すごい」ボタンをクリックしてみてください。 Tseはもっと重要になります。
最終更新日:2015年10月31日
追加の.NETプラットフォーム用のグラフィカルインターフェイスの作成には、さまざまなテクノロジが使用されます。ウィンドウフォーム、WPF、Windowsストア用のアドオン(Windows 8 / 8.1 / 10の場合)です。 ただし、最もシンプルで便利な書類プラットフォームは、ウィンドウフォームまたはフォームです。 デンマーク語は、WinFormsの追加テクノロジと管理の主要な要素の作業のためのグラフィカルインターフェイスの作成の原則を理解するためのメタデータとして配置するのに役立ちます。
グラフィックソフトウェアによって作成されました
グラフィックプロジェクトを作成するには、VisualStudio開発環境が必要です。 Visual Studio 2013のバージョンはこれまでで最も拡張されているので、私が助けてくれるので、このメディアの無料バージョンを打ち負かします Visual Studio Community 2013 Yakuは、https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspxの側面にあります。
ミドルウェアとそのすべてのコンポーネントをインストールした後、Visual Studioを起動し、グラフィックプログラムプロジェクトを作成します。 そのために、メニューで[ファイル]項目(ファイル)を選択し、サブメニューで[新規]-> [プロジェクト]([作成]-> [プロジェクト])を選択します。 私たちの前で最後に目にするのは、新しいプロジェクトを作成するための対話ウィンドウです。
左側の列で[Windowsデスクトップ]を選択し、中央のプロジェクトタイプの中央部分で-次のように入力します Windowsフォームアプリケーションそして女性にとって、私は下のフィールドにいるようなものです。 たとえば、私たちはヨガと呼びます helloapp。 次はOKを押します。
Visual Studioがロックの背後に作成されたファイルからプロジェクトを開いた後:
Visual Studioの範囲のほとんどは、将来のプログラムの形をとることができるグラフィックデザイナーによって占められています。 当分の間、それは空であり、見出しForm1しかありません。 右側には、ソリューション/プロジェクトファイル(ソリューションエクスプローラー)があります。 ここでは、フォームのファイルを含む、補遺に関連するすべてのファイルを見つけることができます Form1.cs.
下部では、右利きの人は権限のウィンドウ-プロパティとして知られています。 この時点で、私はコントロールの要素としてフォームを選択したので、フォームに関連付けられて、どのフィールドに当局が表示されます。
これで、フォームTextの力がわかり、その意味をbe-yakelseに変更します。
このようにして、フォームのタイトルを変更しました。 これで、フィールドに転送できるのは、ボタンなどの重要な要素です。 VisualStudioタブの左側を誰が知っていますか ツールボックス。 このタブをクリックすると、要素を含むパネルが表示されます。星を他の要素のフォームに転送できます。
マウスのkazіvnikにїїをロードしたiボタンの中央の要素を知っているので、それをフォームに転送します。
ツェは視覚的な部分です。 それでは、プログラミングに取り掛かりましょう。 私のC#の最も単純なコード、一種のアクティブ化およびプッシュボタンを追加しましょう。 私が罪を犯した人は誰でも、このフォームからの接続であるコードファイルに移動します。 表示するコードファイルがないため、マウスの右ボタンでフォームをクリックし、[コードの表示]メニュー(コードファイルを表示)でクリックできます。
ただし、コードを書きすぎないように、別の方法で高速化します。 ボタンにマウスポインタを合わせ、下のクリックをクリックします。 コードファイルを自動的に消費します Form1.cs、これは次のようになります。
システムの使用; vicorist System.Collections.Generic; System.ComponentModelを使用します。 System.Dataを使用します。 vicorist System.Drawing; System.Linqを使用します。 System.Textを使用します。 vicorist System.Threading.Tasks; System.Windows.Formsを使用します。 名前空間HelloApp(public部分クラスForm1:Form(public Form1()(InitializeComponent();)private void button1_Click(object sender、EventArgs e)())
ボタンを押した後に通知を表示するDodamoは、次の順序でコードを変更します。
システムの使用; vicorist System.Collections.Generic; System.ComponentModelを使用します。 System.Dataを使用します。 vicorist System.Drawing; System.Linqを使用します。 System.Textを使用します。 vicorist System.Threading.Tasks; System.Windows.Formsを使用します。 名前空間HelloApp(public部分クラスForm1:Form(public Form1()(InitializeComponent();)private void button1_Click(object sender、EventArgs e)(MessageBox.Show( "Hi");)))
プログラムの起動
プログラムをブートモードで実行するには、F5キーまたはVisualStudioパネルの緑色の矢印を押します。 次回、フォームがボタン自体で起動するとき。 そして、フォームのボタンを押すと、vapingに関するリマインダーが表示されます。
プログラムを起動した後、スタジオは拡張exeファイルのファイルからヨガをコンパイルします。 プロジェクトフォルダに移動し、bin/Debugまたはbin/Releaseディレクトリに移動すると、ファイルを見つけることができます。
プロジェクトのグラフィックサプリメントの作成について簡単に説明したので、主要なコンポーネントと、もちろんフォームの概要に進むことができます。