A 回答 (10件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
これならエラーは出ますよ。
元々ペアとなる2つのコントロールをcon1とcon2に入れなきゃいけないように提案した物ですが、明らかに数が違いますよね?
その辺がおかしな原因でしょう。
>If j > con.Length Then j = 0
conと言う変数は無くなっているはずなのに存在しているのは何故?
とにかく con1 con2 のコントロール数が極端に違うのに別な理由があるのでしょうか?
順番によって2つであったり3つであるとかなら、もう一つの質問
https://oshiete.goo.ne.jp/qa/10071179.html
で使っているジャグ配列にすべきと思いますけど。
con = New Control()() {
New Control() {PictureBox1, TextBox1},
New Control() {Label1, TextBox2},
New Control() {ComboBox1, PictureBox2}}
組む相手を増やしたいなら例えば
New Control() {PictureBox1, TextBox1,TextBox3},
と順番によって2つ以上でも同時に変化をさせられます。
単にペア数を増やすなら
New Control() {コントロール名をカンマ区切りで},
を追加していくだけです。
No.9
- 回答日時:
コードをお願いされて書いたとしても、そちらの環境がどうなっているのかはわからない状況です。
こちらで幾ら自分でControlを配置してコードを作成しても、実際は違う内容の事をしているのかどうかさえわかりません。
厳密には知恵袋と別の質問の方にこちらで検証した物は載せています。
それがダメだって言うのであれば、こちらは検証できない状態になってしまい回答も困難です。
本来はエラーの出るコードを提示して頂く方が確実だと思いますよ。
もしかしたらうちのは古いバージョンを使っていますが、そちらは最近のバージョンであるならその辺で動きが違うのかも?しれませんし。
No.7
- 回答日時:
自作のトレインビジョンと質問の内容の関連性はわかりませんが、検証していないのであくまで参考になるかも?という回答です。
Private con1() As Object
con1 = New Object() {TextBox1, PictureBox1, Label1, ComboBox1, ListBox1} ' ここに配置したコントロール名を書く
この1次元配列を使う方法をやめ、
Private con1()() As Object
con1 = New Object()() {
New Object() {TextBox1, Label1},
New Object() {ComboBox1, ComboBox2},
New Object() {ListBox2, PictureBox1}}
のようにジャグ配列について調べてみては?
・・・実際これほど不特定且つ複数種のコントロールを使う必要があるのか?と言う疑問はありますけど。
この先については他の回答者にお任せします。
No.6
- 回答日時:
あとから条件をコロコロ変えて来られても大変ですので、明確に『何を知りたいのか?』を含めて改めて質問を立て直すべきと思いますよ。
私こちらのサイトはたまにしか来てませんし。
No.5
- 回答日時:
結局最終的に何がしたいのかわからないので、手間がかかるだけです。
組み合わせ自体も統一性が見られませんし。
No.4の回答にあるコードを参照して
Private con() As Object
con = New Object() {TextBox1, PictureBox1, Label1, ComboBox1, ListBox1} ' ここに配置したコントロール名を書く
これを2つ用意して
Private con1() As Object
Private con2() As Object
con1 = New Object() {TextBox1, PictureBox1, Label1, ComboBox1, ListBox1} ' ここに配置したコントロール名を書く
con2 = New Object() {TextBox2, PictureBox2, Label2, ComboBox2, ListBox2} ' ここに配置したコントロール名を書く
---
If i > con.Length Then i = 0
ここを
If i > con1.Length Then i = 0
---
For m As Integer = 0 To con.Length - 1
ここを
For m As Integer = 0 To con1.Length - 1
---
con(m).visible = False
If m = i Then con(i).visible = True
これも2つ用意して
con1(m).visible = False
con2(m).visible = False
If m = i Then con1(i).visible = True
If m = i Then con2(i).visible = True
が手っ取り早いと思いますよ。(コントロールの順番は好きに並べ替えて)
それぞれ行をくっつけて書いてますが、元のコードを良く見て書く位置を間違えないように。
3つなら3つに、4つなら4つに増やせば出来るかと。
No.4
- 回答日時:
No.3です。
TextBox1, PictureBox1, Label1, ComboBox1, ListBox1
があるとして、
Private con() As Object
Private i As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con = New Object() {TextBox1, PictureBox1, Label1, ComboBox1, ListBox1} ' ここに配置したコントロール名を書く
i = 0
For m As Integer = 0 To con.Length - 1
con(m).visible = False
If m = i Then con(i).visible = True
Next
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
i += 1
If i > con.Length Then i = 0
For m As Integer = 0 To con.Length - 1
con(m).visible = False
If m = i Then con(i).visible = True
Next
End Sub
No.3
- 回答日時:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Visible = False
TextBox1.Visible = True
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
With TextBox1
.Visible = Not .Visible
End With
With PictureBox1
.Visible = Not .Visible
End With
End Sub
とか?
No.1
- 回答日時:
こんにちは
>テキストボックスからピクチャーボックスに切り替える~~
ピクチャーボックスというのは画像と考えてよいのでしょうか?
いずれにしろ、異なる要素の切り替えになるので、それぞれを表示/非表示などで切り替えて、片方だけを表示するということになると思います。
HTML内に先に両方を用意しておいても良いですし、スクリプトで要素を生成することも可能です。
以下は、単純に切り替え表示する一例です。
フェードアウト等で入れ替えることなども可能ですので、研究してみてください。
(ボタンをクリックするごとに、表示が入れ替わる一例です。)
<!DOCTYPE HTML PUBLIC>
<html lang="ja">
<head><title>Sample</title>
<style type="text/css">
form textarea, form img{ width:200px; height:100px; }
</style>
</head>
<body>
<form>
<p>
<textarea>hogehoge</textarea>
<img src="./A.jpg" alt="" style="display:none">
</p>
<button id="trigger" type="button" value="click">click</button>
</form>
<script type="text/javascript">
document.getElementById("trigger").addEventListener("click", function(){
var img = this.form.querySelector("p img");
var f = img.style.display == "none";
img.style.display = f?"":"none";
this.form.querySelector("p textarea").style.display = f?"none":"";
}, false);
</script>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) Vba テキストボックスの文字列をボタンで入力するとテキストボックスの端の文字列が更新されない 2 2022/05/21 23:32
- Chrome(クローム) グーグルクロムをマイクロソフト・エッジに切り替える方法 2 2022/06/20 10:08
- Visual Basic(VBA) Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。 3 2023/03/19 18:31
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームで動的(Me.Con...
-
エクセル・VBA CheckBoxのオブ...
-
ExcelVBAでListViewが使用できない
-
WinAPIで電卓をクリック
-
C#で角が丸いテキストボックス
-
カメラスクロールするのを動画...
-
asp.netでToolTipコントロール...
-
もしフォームヘッダーにコント...
-
エクセル コントロールツール...
-
chr関数の呼び出しで「プロ...
-
悩みがあろうと、それなりに幸...
-
fpSpreadコントロール ライセ...
-
コンボボックスの文字によるif...
-
USB I/Oのデジタル信号をvbaで...
-
ListViewのチェックボックスに...
-
DataGridView、1セルに複数コ...
-
エクセルVBAでオプションボタン...
-
Labelコントロールの(左右)余...
-
OCXって何ですか?
-
With~EndWithの省略部分と引数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
エクセルVBAでオプションボタン...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
excelのリストボックスで選択し...
-
ユーザーフォームで動的(Me.Con...
-
フォーム上の現在アクティブな...
-
C#で自分のウインド・ハンド...
-
変数をコントロール型で使用す...
-
VBAのフォームでTextBoxがいっ...
-
コントロールを移動できない
-
Groupboxの配下のコントロール...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
間違えて配置してしまったコン...
-
エクセル コントロールツール...
-
'ckbl' コントロールは作成され...
-
OCXって何ですか?
おすすめ情報
htmlではなくてvisual basicです。
3つ以上のツールを順番に切り替える場合もお願いします。(例)ピクチャーボックス⇒テキストボックス⇒ラベルetc
表示されている2つ以上のツールを同時にまるごと切り替える場合もお願いします。(例)ピクチャーボックス1&テキストボックス1⇒ラベル1&テキストボックス2⇒コンボボックス&ピクチャーボックス2 etc
自作のトレインビジョンを開発しています。表示されている2つ以上のツールを下記の例のように順番に同時にまるごと切り替える場合もお願いします。(例)ピクチャーボックス1とテキストボックス1ペア⇒ラベル1とテキストボックス2ペア⇒コンボボックスとピクチャーボックス2ペア⇒ etc
表示されている2つ以上のツールを下記の例のように順番に同時にまるごと切り替える場合(例)ピクチャーボックス1とテキストボックス1ペア⇒ラベル1とテキストボックス2ペア⇒コンボボックスとピクチャーボックス2ペア⇒ etc のvb.netのコードはどうやって書けばよいのでしょうか?お願いします。
No.4を参照してNo.5をやってみましたが今度は例外エラー(型 'System.IndexOutOfRangeException' のハンドルされていない例外が mscorlib.dll で発生しました 追加情報:インデックスが配列の境界外です。)が出ました。この場合はどうすればいいのですか。教えてください。後、コードもお願いします。
問題のコードはこちらです。
Private con1() As Object
Private con2() As Object
Private j As Integer
続き
con1 = New Object() {Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10, Label11, Label12, Label13, Label14, Label15, Label16, Label7, Label8, Label9, PictureBox1, PictureBox2, PictureBox3, PictureBox4, PictureBox5, PictureBox6, PictureBox7, PictureBox8, PictureBox9, PictureBox10, PictureBox11, PictureBox12, TextBox1, TextBox2, TextBox3, TextBox4, TextBox5,
続き
TextBox6, TextBox7, TextBox8}
con2 = New Object() {PictureBox13, TextBox9}
j = 0
For n As Integer = 0 To con1.Length - 1
con1(n).visible = True
If n = j Then con1(j).visible = True
Next
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
j += 1
続き
If j > con.Length Then j = 0
For n As Integer = 0 To con1.Length - 1
con1(n).visible = False
con2(n).visible = False
If n = j Then con1(j).visible = True
If n = j Then con2(j).visible = True
Next
End Sub