2011-12-20 15 views
0

私は通常、PHPでコードを作成しています。私は自分のエディタを開いて、クラスやメソッドなどをコーディングすることに慣れています。心配するGUIがないので、 。Visual StudioでC#を使用したワークフロー

昨夜私はビジュアルスタジオでC#を使っていくつかのチュートリアルをして一晩過ごしましたが、それは難しいと思っていました。私が使用していないものは、すべてのチュートリアルでは、テキストボックスやボタンのようなフォームオブジェクトを追加してから、コード部分に移動するためにそれを二重にしてから、そのメソッドのコードを入力します。その後、フォームに戻って再泥炭

これは本当に "ちょうどコード"に取り組んでいないので、1つの質問は、常にそれが好きですか、ちょうど私がチュートリアルに従っているからですか?

もう1つの質問は、特定の機能を実行するためにオンラインでソースコードが表示されているときに、私が使ってみたいクラスが表示されているとします。クラスを作成したり、作業しているフォームコードにそれらを追加したりできますか?

私はそれほど意味がありませんでしたが、うまくいけばそれは誰かにして、私はそれをより良く言い当てようとします。

これはWPFであったと付け加えるべきです、また、2つの言語、つまりPHPと非常に似た構文を持っているので、難しいとは思われません。言語

+0

なぜあなたはWPFと一緒に行くことにしたのですか?あなたの学習のためのWinFormsとは?あなたが既に始まったコードのサンプルもありますか?問題の真の根本はあなたが直面していることを本当に見ることができません。 – MethodMan

+0

問題があるとは思わないが、ジャソンダビスは理解しようとしているVS/.netチュートリアルがPHPと大きく異なる理由 多くのリッチクライアント開発では現在winformsではなくWPFをターゲットにしているため、WPFが最適です。 –

+0

GUIとは、Xamlという意味ですか? R0MANARMY @ – R0MANARMY

答えて

3

興味のあるクラスをダウンロードできます。 次に、ソリューションエクスプローラーパネルに移動し、既存の項目を追加します。 これはプロジェクトにファイルをコピーします。

これらのクラスを使用するには、そのクラスを使用する必要があると宣言する必要があります。 だから、何をしなければならないことは、あなたがクラスを使用する準備ができている

using FooNamespace; 

ような何かを言うことです。 名前空間は、クラスの直前に宣言されています。あなたはそれを編集することができます。

今、フォームについてです。各フォームにはClassであり、それはあなたが最初のものだけを必要とするClassForm.resx

3つのファイル

  • ClassForm.cs
  • ClassForm.designer.cs
  • で構成されています。右クリックしてコードを表示します。あなたはそこに行ってそれを使うことができます。

1

多くの質問、回答の多く

  1. 難しさと繰り返し

あなたがデザイナーを経て、フォームオブジェクトを追加することができたり、ソースボタン(CTRL-PgDnキー)を打つことができます。そこから任意のPHP IDEと同様に、aspやhtmlの要素を編集することができます。私はソースの中でほとんどの作業を行います。私は本当のプログラマーですので、私はドラッグアンドドロップを行うことはできません。インテリジェンスと時間を使って、プロパティと何をすべきかを学びます。 複雑なページを作成するには、自分が行っていることを知っておく必要があります。 私がVSで始まったことは、あなたと同じ気持ちでしたが、私はその流れに入ってきました。 コードの背後にある限り、組み込みコードによって呼び出されるasp要素までメソッドをフックするだけです。 C++、PHPなど、独自のクラス、関数、コードのすべてを背後または別のファイルに追加することができます。

VSは本当にパワフルで、どこにいるのかを学んだときに滑らかに走り、今何年も使っていて、まだ学んでいます。ボトムライン、決してドラッグアンドドロップを使用して、それだけで遊ぶ。

1

残念ながら、.netの世界はドラッグドロップコントロールを愛しています。ほとんどのチュートリアルはこのコンセプトに基づいて設計されています。フォーム上にテキストボックスをドラッグします。ボタンをフォーム上にドラッグします。ダブルクリックのボタンイメージをクリックしてクリックハンドラを取得します。

これは必要ではありませんが、これはほとんどの人がVisual Studioを使用するアプローチです。これがWPFプロジェクトであるということは、コードやxamlのマークアップからすべてを行うことができるということです。 WYSIWYGエディタは必要ありません。

クラスの追加/参照については、クラスが配置されているアセンブリを参照する必要があります。コアの.net型(BCLの一部、基本クラスライブラリ)が自動的に参照として含まれます。適切な名前空間にusingステートメントを追加します。オブジェクトをインスタンス化することができます。

+0

感謝をXAML他のクラスをインポートしますか?私はまた.dllファイルを作成するオプションを見ましたが、これは一般的には何のために使用されていましたか(私は画像のようなリソースを保存すると思っていました)が、ドラッグドロップでできることがわかります – JasonDavis

+0

dllコンパイルされたコード.netはコンパイルされた言語です。ちょうどjavaのように。 phpはrubyやjavascriptのようなスクリプト言語です。クラスファイルだけでは意味がありません。実行可能ファイル/アセンブリ/ dllファイルにコンパイルする必要があります。名前空間は、クラスの構成方法です。 c/C++またはPHPにインクルードされています。 –

1

C#インタラクティブウィンドウを作成する方法があります。 this questionを参照してください。また、フォームを使用する必要はありませんが、コマンドラインアプリケーションを作成することもできます。

2番目の質問は、プロジェクトに新しいクラスを追加してフォームに使用できることです。名前空間が異なる場合、その名前空間をインポートすると(using経由で)簡単になるという点を除いて、実際には追加のステップはありません。

1

あなたが新しくチュートリアルを使用しているため、部分的にはそうです。

部分的には、フォームで作業しているため、は手作業で手作業でコードを作成したくないためです。

C#で遊んで、フォームや表示には関心がない場合は、コンソールアプリケーションの情報を調べてください。代わりに、ボタンやテキストボックスの心配の、あなたの最悪の悪夢はConsole.WriteLine();

になりますここではいくつかのコンソールベースのC#のチュートリアルです:

  1. C# Station tutorial
  2. C# Yellow Book - それはPDFです。それは良いです。
0

はい、これはほとんどの場合、初心者の方に合わせたビデオチュートリアルに従っているからです... VSでの生活を営んでいる私たちのほとんどは、WPFソリューションの開発ではなく、 UIを構築するためにXAMLで直接作業し、MVVMパターンに従ったコードの後ろにコード内にコードをほとんどまたはまったく持たないでください。

あなたの2番目の質問に答えるために、UIに直接絡み合っていない "やる"というクラスのほとんどは、別のクラスライブラリ(dllファイル)になければならず、メインのUIプロジェクト(疎結合を容易にするために)代わりに、典型的にはインタフェースを利用する何らかの依存性注入(Dependency Injection)を使用してアクセスする。

ユーザインタラクションに応答するコードは、ビューのデータコンテキストであるViewModelクラスに属している必要があります。また、これらのVMクラスは、通常、前述のクラスライブラリに格納されたコードを使用するために、前の段落で述べた。

ボタンをダブルクリックするだけで、Winformsのようにコードビハインドファイルに作成されたそのメソッドのすべてのコードを書き込むことができますが、Winformsのようにメンテナンスが難しく、ユーザーインターフェイスに密接に結びついているため、テストするのが非常に難しいので、その瞬時の満足感に抵抗し、コードの再利用、デカップリング、テスト容易性を実現するMVVMパターン、DIおよびOOデザインパターンの学習に時間を費やしてください... が

0

...この情報がお役に立てば幸いそれは本当にあなたが学ぶことをしようとしているかに依存します。私はC#を使用していた場合、私はWPFで始めるとは思わない。言語の基礎を理解してから、簡単なWinFormsアプリケーションに移動し、最後にWPFに移動するために、コンソールアプリケーションから始めます。

しかし、はい、編集者がどのように機能するかについてのご質問は、正しいです。そのプラットフォームがどのように機能するかです。

関連する問題