2009-04-08 5 views
1

独自のカスタムwinformsコントロールを作成する方法があるのか​​どうか疑問に思っていましたか? 私は今Visual Studio 2008でいくつかのC#アプリケーションをやろうとしています。そして、GUIは、標準のwinforms制限のためひどく見えます。C#+コントロールのカスタムグラフィック?

たとえば、画像をボタンに追加できますが、ホバー効果はありません。また、ホバー効果でボタン全体が灰色になります。私はそれを望んでいない、私はちょうど、コントロールのための自分のグラフィックを作成するか、すでに存在するいくつかの無料の(opensourceおそらく)コントロールを見つけるしたい。

このいずれかのライトは、誰ですか? :)

答えて

0

私はWinForms開発を行っていますが、コメントではWPF開発の何ヶ月も行ったと言いますが、WPFはクロスプラットフォームではないので十分ではありません。

WinFormはどのようにクロスプラットフォームになっていますか?また、X11経由でMac上で醜いWinFormsがモノで表示される様子を見てきました。

スタイルとクロスプラットフォームが必要な場合は、FlexまたはSilverlightを使用してください。既にWPFを知っているので、Silverlightルートを使用します。

これはクロスプラットフォームであり、WPFのすべての美しさを備えていますが、そのままの状態での機能低下を犠牲にしています。

+0

興味深い。私はWPFの開発にはかなり遠いが、実際のコードはまだ実装されていない。数え切れないほどの時間をかけてデザインをやっています。 WPFについての十分な情報が見つからず、私が望んだことをやり遂げることができなかったため、すべてが停滞しました。そして、今私は再びそれをピックアップしています。 –

+0

しかし、Webブラウザを経由せずにSilverLightに基づいてスタンドアロンアプリケーションを作成することはできますか?それも全体的な点だから、私はインターネットアクセスに頼るつもりはない。おそらく私はwebbrowser要素を使用し、そこにそれをホストしますか?それは賢明かもしれません。 –

+0

最新の「リリース予定」バージョンのSilverlight 3.5には、スタンドアロンのアプリケーションがあります。それ以外の場合は、ブラウザコンポーネントを自分でホストすることができます。 –

0

最初に - WPFを見たり、winforms(サポートされている - like so)内のWPF要素をホストする方が現実的かもしれません。それ以外の場合は、です。しかしそれは多くの仕事です。

+0

ええ、Expression BlendをPhotoshopとほぼ同じくらい知っています。 :) すごいね!しかし、私はアプリケーションがWindowsのplattformでしか動作しないようにしたい。それが本当の問題です。 Whats Spotifyはexcactlyで書かれていますか?彼らはそれを行うことができました。だから私は正しい? :) –

+0

まあ、月光はただの窓以上のものでも働きます。 –

2

完全なWinformsコントロールを最初から作成し、すべてのペイントと入力処理を自分で行うことができます。「コントロール」から派生したクラスを作成して取得するだけです。

VSデザイナーとうまく統合されたファーストクラスのコントロールを作成するのはかなり面倒なので、ユーザーは自分が望む動作をほとんど持っている既存のコントロールからカスタムコントロールを派生させる傾向があります。ここで

は、開始するには良い場所のようになります。http://msdn.microsoft.com/en-us/library/6hws6h2t.aspx

0

あなたがWPFを使用していない理由は、任意の理由は?あなたがルートを下った場合には、さらに多くのUIコントロールがあります。

WinFormsを使用する必要がある場合は、DevExpressのような商用ソリューションがたくさんあります。あなたが本当にあなた自身のルックアンドフィールを望むなら、それは仕事がたくさんあるでしょう。

+0

私が知っているように、私はすでに昨年多くのWPFをやっており、それをかなり知っています。 「問題」は、私が取り組んでいるアプリケーションが、Windows以外の他のシステムに移植できるはずだということです。私の知る限り、WPFは移植できません。 –

+0

WPFはSilverlightに移植するのが簡単です。しかし、それはまだMonoで動作するように移植することはできません。これは難しいことです。 –

0

はい。独自のコントロールを作成できます。これはユーザーコントロールと呼ばれます。 Add-> and User Controlを選択するだけです。

Windowsフォームを見栄えの良いものにするには、WPFを使用するとよいでしょう。

+0

「ユーザーコントロール」は実際には他のコントロールをホストするコントロール用です。「カスタムコントロール」のように聞こえます。 –

+0

自分のGUIを設計できるようにしたいだけです。私はプログラマーペルセではないので、私はどのようにwinformsでこれを行うことになっているのか分かりません。 私はデザイナーで、WPFはかなりいいです。それは、それがLinuxとMAC上で動作することの一部であり、その決定を下す可能性があります。 –

0

カスタムグラフィックに関するいくつかの非常に有用な情報はthere (bobpowell)です。そして、いくつかの無料の、しかし見栄えの良いユーザーコントロールthere (Componentfactory)

関連する問題