お世話になっております

カスタムコントロールのプロパティについて質問です

InputManのGcTextBoxを継承したカスタムコントロールを作成しました。
カスタムコントロールにはPublicのプロパティがあり、その中で必要がなくなったプロパティがあるため削除しました。

しかし、削除するとカスタムコントロールを使用しているFormのDesignerファイルで多数のエラーが出ており、見てみると削除したプロパティの設定が残っていました。
designerファイルを一つ一つ開いて消そうと思いましたが、かなり多いため非常に手間がかかります。

そこで相談なんですが、なにか一括、もしくは自動で消す方法等あればご教授願います。

ちなみに環境はVisualStudio2008でコントロールはInputMan for Windows Forms 6.0jを使用しています。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

正規表現で置換

    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2011/06/12 02:23

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qオルト・トリジン

オルト・トリジンとオルト・トルイジンの違いってなんですか?
オルト・トルイジンの構造式も探しているのですがわかりません・・。どなたかご存知の方がいらっしゃったらよろしくお願いします!

Aベストアンサー

どう云う調べ方をされたのでしょうか。下記参照下さい。

参考URL:http://www.env.go.jp/chemi/report/h14-05/chap01/03/23.pdf

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

Qオルト酸 メタ酸

オルト酸とメタ酸とはどういう意味でしょうか?

参考書にも載っていないのでどうかご教授ください。
お願いします。

Aベストアンサー

> 参考書にも載っていないのでどうかご教授ください。

 「化学辞典」(東京化学同人)等の辞典類は御覧になりましたか。出ていますよ。

【オルト酸】
 水和度の異なるオキソ酸を区別するために用いられる名称で,最も水和度の高いオキソ酸に用いられます。オルトリン酸[ H3PO4 ],オルトホウ酸[ H3BO3 ],オルトケイ酸[ H4SiO4 ]などがあります。

【メタ酸】
 最も水和度の低いオキソ酸に用いられます。メタリン酸[ (HPO3)n ],メタホウ酸[ (HBO2)n ],メタケイ酸[ (H2SiO3)n ]などがあります。

 しかし,私も正確には知らなかった! 勉強になりました。

QVB .net コントロールのプロパティ設定方法

Visual Basic 2010を勉強しています。

フォームに貼り付けたコントロールのプロパティの設定についてですが、
今までは、貼り付けた後にプロパティウインドウで直接いじっていました。
(Text、Font、Imageなど...)

ですが、知人が書いたコードを見ていると、コードの中で設定しているようなのです。

プロパティウインドウで設定した方が、視覚的にも確認しながら設定できるのでそうしていたのですが、コード内で設定するのと違いはあるのでしょうか?(パフォーマンスやコードの見やすさなど...)

動的にコントロールを配置したい時や、プロパティを変更したい場合にはコード内で操作しますが、初期設定やラベル等の変更することがないようなコントロールに関しては、どちらでも同じような気がするのですが...

実際に皆さんがどうされているのかも気になり、質問させて頂きました。

以上、何卒よろしくお願いいたします。

Aベストアンサー

私は、デフォルト設定から変更する場合は、主にコードで設定しています。

ただ、デザイナで変更しても、InitializeComponent 内に自動でコードが
書かれます。そういった意味では、プロパティウインドウで設定しても
自分でコードを書かないだけで、コードで設定しているとも言えます。

ところが、この自動で書かれているコードには独自のルールがあるようで、
プロパティのデフォルト値と同じであると省略されたり、コードに書かれる
コントロールの順も不定な部分があります。また、開発環境の解像度などの
影響を受けて、プロパティ値が自動調整される事があります。

そういった諸々の事情から、企業で開発するプロジェクトでの保守性や、
別プロジェクトへの再利用性に劣ります。

自前のコードで書いてあると、そこが自動で変更される事は無い(実行時に
調整される事はあっても)ので、意図して値を変更した事が明確に履歴管理
でき、また、そのコードで1回十分にテストしておけば、そのまま安心して
他プロジェクトに流用できます。また、複数プロジェクトで、どのプロパティ
を流用して、どのプロパティは流用しなかったか(つまり、どの機能を実装し、
どの機能は実装しなかったか)といった差分比較も簡単になります。

少し特殊な事例としては、画面上に規則正しくコントロールが並んでいる時に
その位置や初期値を関数で設定した事があります。一度設定するだけなら
デザイナ上で設定しても手間は変わらないか、むしろ関数化するほうが時間が
掛かるかもしれませんが、何度も調整したり、変更が予想される場合は
少しの変更で調整できて便利でした。

以上のような経験から、
デザイナ上で調整するのは、位置と、タブ順・コントロール名くらいで、
他のプロパティは基本的には自前のコードで設定するようになりました。

私は、デフォルト設定から変更する場合は、主にコードで設定しています。

ただ、デザイナで変更しても、InitializeComponent 内に自動でコードが
書かれます。そういった意味では、プロパティウインドウで設定しても
自分でコードを書かないだけで、コードで設定しているとも言えます。

ところが、この自動で書かれているコードには独自のルールがあるようで、
プロパティのデフォルト値と同じであると省略されたり、コードに書かれる
コントロールの順も不定な部分があります。また、開発環境の解像度などの
影...続きを読む

Qウエッブページのデリートについて

 あるアダルトサイトを閲覧していたのですが、そこからの突然のウエッブページが現れました。そこで、×ボタンでそのページをデリートしようとすると、いったんはデリートしますが数秒で再び現れてきます。こんなことがあるのかと不思議なのですが、こういう場合の対処方法というのはあるのでしょうか。ご存知の方がいれば教えてください。

Aベストアンサー

ウエッブページ=Webページ
と仮定します。
開いたウィンドウの×ボタンを押すことは、ウィンドウを閉じることであり、webページはサーバー上にあるので、デリート=削除?
はできません。

Webブラウザを開いて、webページを見ている。
という状態なわけですので、

そのwebブラウザを閉じる

というのが、行いたいことでしょうか。

あるwebページを見ているときだけ、特定のページが再現されるのか、webブラウザを開いていなくても、自動的に開くのかわかりませんが、

前者ならあるwebページをとじる
後者ならリカバリするのが手っ取り早いです。

QVB.NET Excelシート上のラベルコントロールのTextプロパティを変更したい

VB.NET Excelシート上のラベルコントロールのTextプロパティを変更する方法について
どなたかご教授願えますか?

objSheet.Control(labelname).Text = "変更したいラベル名"

Aベストアンサー

こんにちは。

ラベルコントロールというのは、ActiveX コントロールか、フォームコントロールかどちらかだと思います

以下は、() 内は、インデックスにしていますが、名前も入れられます。

フォームコントロール
Expression.Labels(1).Text = "ABC"

ActiveX コントロール
Expression.OLEObjects(1).Object.Caption = "DEF"

Qオルト、メタ、パラ

ふと疑問に思ったことなのですが、化学のベンゼン環でオルト、メタ、パラってありますよね。あれって、どうしてああいう名前が付いたのですか?名前の由来を知っている方回答よろしくお願いします。

Aベストアンサー

いずれも語源はギリシャ語らしい。
オルトはorth- (orthos)、orthodoxの語幹で、正しい、まっすぐとしたなどの意味。
メタはmeta- 、あいだの、または、後の、上の、変化した、隠れた、といった意味。
パラはpara- 、両側の、超えた、側の、似た、誤った、副次的な、といった意味。
meta- も para- も英単語に多く残っている。

この程度しかわからないけれど。

QVB6からの移行したいけど、VB.NETのコントロール配列は?

VB6ではフォーム上にボタンコントロールとかを配列で作成できクリックされた時にはボタンイベントのインデックス値によってどのボタンを押されたが判断できて各処理を記述できていましたが、VB.NETでは同じようにはできないようです。オブジェクト指向的?にはこちらがいいのでしょうが、どうも面倒くさくなったなぁというイメージしかわかず、なぜこの方がいいのかという納得いく書籍とかも見つけることができていません。
どなたか、ご教授頂きたいのですがよろしくお願いします。参考になる書籍やWEBとかもありましたらお教えいただければ幸いです。

Aベストアンサー

VB6のように、コントロール配列はありません。
イベントモデルの変更によるものです。
コントロール配列の代わりとして、オブジェクト配列を使います。
残念ながら、デザイン画面でindexによる配列処理はできません。
コード画面から、Newでインスタンスを生成させる方法です。
Dim MyButton(10) As New Button

イベント処理は、
WithEventで発生させるイベントを宣言し、Handlesによって処理の定義をします。
Private Sub( … )Handles MyButton.Click
イベントプロシージャ内の配列の区別は、TabIndexか、Tagを使用します。

VB.NETへの移行の必要性は分かりませんが、
現状のVB.NETでは不便な点が多々あるようです。
また、リバースエンジニアリングの懸念が心配な言語です。私的に、2005のバージョンに期待したいです。

Qエクセルマクロで行を変えて100回デリート

すみません。繰り返し165行下がってデリートしたいのですが・・・
どなたか詳しい方ご教授下さいませ。

ActiveWindow.SmallScroll Down:=174
Rows("183:198").Select
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=171
Rows("348:363").Select ←165行下がりデリートを繰り返しデリートしたいです。
Selection.Delete Shift:=xlUp

Aベストアンサー

素直に数を数えてみます。

sub macro1()
 dim r as long
 for r = 183 to 183 + 165 * 100 step 165
  rows(r & ":" & r + 15).delete shift:=xlshiftup
 next r
end sub

Q【VB2005】 実行時に動的にコントロールを作成した後のコントロールへの処理

こんばんわ、VB5.0を1週間ほどかじって現在2005に乗り換えたばかりのド初心者です。
(用語の使い方などが間違っている可能性があるかもしれません。おかしなところは指摘していただけるとありがたいです)

VB5.0を使っていたときはコントロール配列を使って簡単にできた事が2005になってコントロール配列を使えなくなったため行き詰ってしまいました。
内容は、ある操作をすると画面にコントロールが1つずつ追加されていき、そのコントロールのプロパティを他のコントロールから操作できるようにする物です。
検索などで情報を集めて、なんとかコントロールを追加していくことができるようにはなったのですが、プロパティを変更するためにコントロールにアクセスする際にエラーになってしまって困っています。

一つだけコントロールが追加された場合は、問題なくプロパティをいじれるのですが、2つ以上追加した場合に最新のコントロール以外のプロパティをいじろうとするとエラーになってしまうのです。
下に私の作りたいプログラムを簡潔にしたサンプルソースを記述させていただきます。
間違いの指摘やアドバイスをいただければ幸いです。


FormにはAddButtonというボタンが一つだけあります。

Dim Index As Integer

Private Buttons() As System.Windows.Forms.Button
Private Labels() As System.Windows.Forms.Label

Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddButton.Click

Index += 1
Me.Buttons = New System.Windows.Forms.Button(Index) {}
Me.Labels = New System.Windows.Forms.Label(Index) {}

Me.SuspendLayout()

Me.Buttons(Index - 1) = New System.Windows.Forms.Button

Me.Buttons(Index - 1).Text = Index - 1
Me.Buttons(Index - 1).Size = New Size(30, 30)
Me.Buttons(Index - 1).Location = New Point((Index - 1) * 30, 50)

Me.Labels(Index - 1) = New System.Windows.Forms.Label

Me.Labels(Index - 1).Text = Index - 1
Me.Labels(Index - 1).Size = New Size(30, 30)
Me.Labels(Index - 1).Location = New Point((Index - 1) * 30, 100)

AddHandler Me.Buttons(Index - 1).Click, _
AddressOf Me.Buttons_Click

Me.Controls.AddRange(Me.Buttons)
Me.Controls.AddRange(Me.Labels)
Me.ResumeLayout(False)

End Sub

Private Sub Buttons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Labels(sender.text).ForeColor = Color.Red

End Sub

こんばんわ、VB5.0を1週間ほどかじって現在2005に乗り換えたばかりのド初心者です。
(用語の使い方などが間違っている可能性があるかもしれません。おかしなところは指摘していただけるとありがたいです)

VB5.0を使っていたときはコントロール配列を使って簡単にできた事が2005になってコントロール配列を使えなくなったため行き詰ってしまいました。
内容は、ある操作をすると画面にコントロールが1つずつ追加されていき、そのコントロールのプロパティを他のコントロールから操作できるようにする物です...続きを読む

Aベストアンサー

原因は
>Me.Buttons = New System.Windows.Forms.Button(Index) {}
です。クリックするたびこの部分で配列が全て初期化されています。
配列の中身を保持したまま配列の大きさを変える場合は

ReDim Preserve Me.Buttons(Index-1)

とします。



配列を使わずにlistを使用する方法もあります。

Private Index As Integer
Private lstButtons As New List(Of System.Windows.Forms.Button)()

Private Sub AddButton_Click(ByVal sender As System.Object...省略)

Me.lstButtons.Add(New System.Windows.Forms.Button())
Me.lstButtons.Item(Index).Text = Convert.ToString(Index)
Me.lstButtons.Item(Index).Size = New Size(30, 30)

Index += 1

End Sub

原因は
>Me.Buttons = New System.Windows.Forms.Button(Index) {}
です。クリックするたびこの部分で配列が全て初期化されています。
配列の中身を保持したまま配列の大きさを変える場合は

ReDim Preserve Me.Buttons(Index-1)

とします。



配列を使わずにlistを使用する方法もあります。

Private Index As Integer
Private lstButtons As New List(Of System.Windows.Forms.Button)()

Private Sub AddButton_Click(ByVal sender As System.Object...省略)

Me.lstButtons.Add(New S...続きを読む


人気Q&Aランキング

おすすめ情報