• 締切済み

自分でボタンを作りたいのですが…。

カスタムコントロールを作ろうと思っているのですが、まったく やり方がわからず困っています。 作成したいのはボタンで、標準で用意されているボタンと大きさや 文字を変えたいと思っています。 ソリューションエクスプローラに、追加>ユーザーコントロールと したのですが、サンプルとして用意されていたものがあって、それは アイコンがコンポーネントになっているのです。 ボタンそのものを作る場合、コンポーネントにするのでしょうか? 倣ってコンポーネントを追加してはみましたが、その後どうしたら ボタンになるのかさっぱりわかりません。 ヒントや、参考になるサイト等ありましたら教えていただけないでしょうか?

みんなの回答

回答No.3

まず始めに1つだけ。 >曲解しているフシがあるのですが… 曲解と言うより、明らかに説明不足です。 いきなり詳細を書くのを躊躇われたのかもしれませんが… で、.NETであれば、ボタンのサブクラスを作って、 サイズやフォントのプロパティを固定・変更不可(ReadOnlyにする?)にしてしまえば (やった事はないですが…たぶん出来ますよね)、あとはそのクラスを 使わせればいいと思います。 ユーザコントロールを別途作ってもいいかもしれませんが、参照設定とか 面倒そうですし。 VB6なら、どうしてもというのであればユーザコントロールを作っても いいかもしれませんが、参照も面倒ですし、OCXとして作ったりしたら OCXの配布についても考えなければいけなくなります。 私なら、そんな面倒なことはせずに「仕様を徹底させる」ように すると思いますが…テストしたら一発で分かるわけですし。

ginfix
質問者

お礼

No1さんと書きましたが、表示順を変えていたので、正しくは No2さんへの回答でした。 >曲解と言うより、明らかに説明不足です。 そもそも私が聞きたかったのは、 「ボタンのカスタムコントロールが作りたい」ということで、 回答としては「ソリューションエクスプローラにユーザ コントロールを追加して、ボタンから継承すれば良い」という シンプルなやり取りでまとまるものだと思うんですよね。 >(やった事はないですが…たぶん出来ますよね) 「たぶん出来ますよ」で出来なかったら二度手間じゃないですか。 参照設定なんてクリック数回すりゃ出来るんですから、 ただ、説明不測があるとすれば、環境ですかね。 VB2005でした。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

WEBで「カスタムコントロール VB」でWEB照会したら http://msdn.microsoft.com/ja-jp/library/w2a8y03d(VS.80).aspx ほか沢山出てきます。 >標準で用意されているボタンと大きさや文字を変えたいと思っています。 この件に限れば、大きさやフォント種類文字・サイズはプロパティの指定で変えられるでしょう。VBAでさえWidthとHeight、Fontsize,FontNameで変えられます。 カスタムコントロールと大きく出ておきながら、質問で挙げる例の格差があまりにありすぎるように思いますが。 ただ勉強にカスタムコントロールを作ってみたいだけなのかどうか。 ほんとに見た目+機能で独自のものを作るには、プロ的な世界では無いでしょうか。

ginfix
質問者

お礼

曲解しているフシがあるのですが… >大きさやフォント種類文字・サイズはプロパティの指定で >変えられるでしょう。VBAでさえWidthとHeight、 >Fontsize,FontNameで変えられます。 それは知っていますが、たとえば、画面が20個以上あり、その すべての画面で使うボタンのフォントはMSゴシックのみ。 Heightは11である。とか決まっていて、更に作業者が複数いた場合、 個々に標準のボタンを貼り付けて…プロパティ変更して…などと やっていたら漏れが出る恐れがありますよね。 なので、共通的に「これを使え!」とボタンを用意しておきたいのです。 >カスタムコントロールと大きく出ておきながら、 >質問で挙げる例の格差があまりにありすぎるように思いますが。 で、上記前提のケースでカスタムコントロールとするのは 大袈裟なんでしょうかね? 他に良い方法があるのでしたら、参考までにご教授いただければと 思います。

全文を見る
すると、全ての回答が全文表示されます。
noname#187541
noname#187541
回答No.1

こんにちは。 大きさや文字(フォント?内容?)くらいであれば、通常のButtonで出来ると思うのですが・・・? 大きさはデザイン画面でフィルハンドルをドラッグすればいくらでも自由に変えられます。 プロパティウィンドウでもSizeプロパティに数値を入力すれば出来ます。(コードからもこのプロパティで出来ます。) 文字(フォント?内容?)もFontやTextプロパティで出来るでしょう。 それともButtonの形を変えるとか?そうであれば 円形のボタンを作成する http://hanatyan.sakura.ne.jp/dotnet/button01.htm#no3 こちらを参考にどうぞ。

ginfix
質問者

お礼

>大きさや文字(フォント?内容?)くらいであれば、 >通常のButtonで出来ると思うのですが・・・? 画面が1つであればいいのですが、No1さんのお礼に書いたような 前提があるので、変更自体は些細ですがカスタムコントロールと したいのです。 他に良い方法があればご教授いただけたらと思います。 ただ、アイコンがコンポーネントになっていた件に関しては、 継承した時点でカスタムコントロールのアイコンが変更される ことがわかりましたので、解決いたしました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 「参照設定」で参照が追加できない

    Visual Studio 2005 「参照設定」から参照の追加が選択できない 「ソリューションエクスプローラ」の「プロパティページ」アイコンをクリックして表示されるプロパティページから参照の追加をしようとしています。 「参照の追加(D)」をクリックして「.NET」タブをクリックし、追加したいコンポーネント名を選択して「OK」をクリックすれば追加されるものと思っておりますが、何度やっても追加されません。 「更新」ボタンをクリックしても追加されません。プロパティページを「OK」ボタンをクリックして閉じ、「すべてを保存」をクリックしてVisualStudioを再起動しても追加されていません。 参照の設定を追加するために、別の設定が必要なのでしょうか。 また、「ソリューションエクスプローラ」から参照設定を確認しようと試みましたが、「全てのファイルを表示」アイコンがグレーになっており、クリックできません。 画面左上の「Webサイト」タブにある「全てのファイルを表示(O)」もグレーの状態でクリックできないため、参照設定の確認ができません。 参照設定するためにしなければならないことがあれば教えてください。 またこのような場合の解決策があれば教えてください。 どうぞよろしくお願いいたします。 環境 Windows XP Professional Edition Visuak Studio 2005 ASP.net 2.0 IIS 5.1

  • C# ボタンコントロール内で文字の改行

    C#でWindowsアプリケーションを作成しています。 ユーザーコントロールでカスタマイズしたボタンを作成しました。 また、そのボタンを動的に配置していく処理を作成しました。 ボタンに表示するボタン名(文字列)が長いものもあるので、改行を させようと思い、以下のようなコードを書きました。 UCtl.BT_Button1.Text = "あ" + Environment.NewLine + "い"; また、このユーザーコントロール「UCtl」は以下の配列に格納します。 cControl1 = new Control[5]; その後、パネルの上に追加していっています。 wPanel.Controls.Add(cControl1[0]); wPanel.Controls.Add(cControl1[1]); しかし、期待する結果”あ”改行”い”と表示されず、”あ”のみが表示されます。 原因として考えられることがお分かりの方がいらっしゃればお教えいただきたいです。 以上です。

  • 業務アプリによるユーザーコントロールの作成について

    業務アプリによるユーザーコントロールの作成について 業務アプリケーションの開発を 行おうとしています VB.net2010 システムはよくある 検索、結果一覧、参照、登録、などを実装予定です 開発前にまずVB.net標準のコントロールを継承カスタマイズし ユーザーコントロールを作成しようと考えています [質問] 一般的に独自のユーザーコントロールを作成するにあたり どのようなユーザーコントロールを用意するものでしょうか 主となる継承対象のコントロールは下記となります ・テキストボックス ・コンボボックス ・ラジオボタン ・チェックボックス ・データグリッドビュー 例)フォームに使用頻度の高いコントロールを配置し部品化する 例)テキストボックスに特殊文字しか入力できないような部品を用意する など箇条書き程度でもかまいませんのでお聞かせ願えると助かります ザックリとした質問で申し訳しないませんが 皆さんならどのようなコントロールを作るのか 今後の参考にさせて頂ければ幸いです よろしくお願いします。

  • XP ボタン等あらゆる表示の位置が逆

    あるユーザーからコールを受け付け、内容を確認したところ以下のような現象が出ているとのことでした。 画面に表示されている物がみんな左右逆になってしまっています。 タスクバー上のスタートボタンが右下、そこから左に向かって順にクイックトレイ、タスクトレイ、システムトレイ(通知領域)、左端に時計のような感じです。 ウィンドウ(エクスプローラ)などを開くと、ファイルメニューなどは正常ですが、閉じるボタンや最小化ボタンなどは左上… ですが、エクセルやワードのボタン位置は正常です。(Windows標準のウィンドウだけ逆みたいです) デスクトップのアイコン配列も右からとなり、整列をかけると全て右側に移動します。 ファイルのアイコンの絵やファイル名、壁紙は正常です。 他、スタートメニュー内の文字も正常に表示されています。 OSはWindowsXPです。 今まで見たこともない現象です… レジストリを触れば上記のような状態にできなくもなさそうですが、ユーザーはPCに詳しいわけでもなく、特に何もしていないそうです。 画面イメージを用意できればよかったのですが、あいにく今は手元に無いもので… H/Wに異常が無い事は確認済みです。 OSの再インストールも視野に入れていますが、今後の為にもし原因が分かればと思い質問させて頂きました。 分かりにくい説明で申し訳ございませんが、どなたかお分かりになる方がいらっしゃいましたらご教示願います。

  • VB2005 ソリューションの中にXMLファイルの読込

    VB2005 かなりの初心者です。 現在、XMLファイルを外部(ソリューションエクスプローラに入っていない) で読込みをしているのですが、管理上面倒なのでソリューションエクスプロ ーラ内(同一プロジェクト)にXMLファイルを新規で追加して管理をしよう と思っています。 XMLファイルを外部から読み込む場合には、ファイルパスを指定して簡単に 取得できたのですが、ソリューションへ追加した場合のファイルパス?は どのようになるのでしょうか。 ファイルパスとかではなく、ソリューションエクスプローラのリストから 取得できるようなクラスが用意されているのでしょうか。 ものすごく初歩的な質問かもしれませんが、調べても全く不明だったので ご質問させていただきました。 よろしくお願いいたします。

  • IEのツールバーにボタンを追加

    http://nacelle.info/customize/08014.php を参考にレジストリを編集してボタンを追加することが出来ました。 でも、そのままでは表示されず「ユーザー設定」で追加したボタンを指定してあげる必要がありました。(もちろんIEは再立ち上げ) IEのツールバーにボタンを追加するプログラムを作りたいのですが、登録したボタンを自動で表示させる方法は無いものでしょうか。

    • 締切済み
    • CSS
  • VistaでのUPnP機能の設定がどこにあるのかわからない

    Windows Vistaを使っていますが、UPnP機能の設定の場所がわかりません。 XPで言えば、スタート→コントロールパネル→プログラムの追加と削除→Windowsコンポーネントの追加と削除→ネットワークサービス→詳細ボタン→「UPnPユーザーインターフェイス」にあたる部分です。 教えてください。

  • エクスプローラのメニューバー,標準のボタン,アドレスバーが消えた

     XP Pro を使用しています.  少し前まで,エクスプローラを開くと,タイトルバー,メニューバー,標準のボタンのバー(何と呼ぶのでしょうか),アドレスバーが見えていました.アドレスバーの下は白い背景にアイコンが並んでいます.  何かの操作をしたからなのか,上に書いたもののうちタイトルバー以外のものが消えてしまいました.エクスプローラを開くと,青いタイトルバーの直下に白い領域があり,そこにアイコンが並ぶようになってしまいました.  何か設定した記憶はありません(何かの拍子?).元に戻す方法をご存知でしたらご教授願います.

  • エクセルマクロのユーザー設定ボタンについて

    エクセル2003を使用してます。 マクロを作って、ヘルプメニューの隣にユーザー設定ボタン(黄色いニコニコした顔文字のようなやつ)を追加したのですが、別のエクセルファイルを開いても、そのユーザー設定ボタンが出てきてしまいます。 ユーザー設定ボタンは、特定の1つのファイルのみに表示させたいのですがどうすればよろしいでしょうか?

  • VC#での参照の追加が上手くいきません

    VC#でアドインを作ろうとしているのですが、「プロジェクト→参照の追加」でCOMコンポーネントの追加が上手くいきません。 例えば、 Microsoft Outlook 11.0 Object Library を追加すると ソリューション エクスプローラの参照設定に"Outlook"が追加はされるのですが、アイコンに!マークが付いていて、クリックすると 「利用可能でないか、またはビルトされてないため、このオブジェクトをオブジェクトブラウザで表示することができません。プロジェクトが利用可能でビルトされていることを確認してください。」 という警告が出ます。 参照の追加をするにあたって、他に何か事前にやっておくことが有るのでしょうか? ちなみに、こちらの環境は Visual Studio 2005 Standard SP1 Microsoft Office 2003 SP3 Internet Explorer 7.0 Windows XP SP2