
C#でForm内にDBに登録されている画像ファイルを指定された数だけ表示させるプレビュー機能の作成方法を探っています。
<画面レイアウト>プレビュー表示
----------------------------------
コード1234:○○関連一覧
画像No.1
登録日9999/99/99 更新日9999/99/99
┏━━━━━━━━━━┓
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┗━━━━━━━━━━┛
画像No.2
登録日9999/99/99 更新日9999/99/99
┏━━━━━━━━━━┓
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┗━━━━━━━━━━┛
画像No.3
登録日9999/99/99 更新日9999/99/99
┏━━━━━━━━━━┓
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┗━━━━━━━━━━┛
・
・
・
画像No.i
登録日9999/99/99 更新日9999/99/99
┏━━━━━━━━━━┓
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┃画像 画像 画像 画像┃
┗━━━━━━━━━━┛
[閉じる]
-----------------------------------
Formは初期値800×600を指定し、これを超える場合はスクロールバーを表示させる。
画像No.はコード(1234、5678など)によって3つの場合、5つの場合など変動する数が登録されてます。
Webベース(ブラウザ使用)で開発すれば、テーブルタグを駆使してfor文を使うことで解決可能ですが、
あくまでもFormを使用した方法がありますか?
画像番号をComboBoxで指定して1画像だけ表示させる手法はできていますが、
なんとかして一覧で表示させたいと思っております。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
現在使用しているコードがあるなら支障のない範囲で公開してみるのもひとつの方法ですよ
ユーザーコントールにラベルx3、ピクチャーボックスx1を張り付けた物を作成します
FormのAutoScrollをTrueにして
データベースから取得した数分のユーザーコントロールを並べてやればいいように思います
for( n = 0; n < nLen; n++ ) {
UserControl1 oCtl = new oCtl;
oCtl.ImageNo = n + 1;
oCtl.Date1 = 登録日;
oCtl.Date2 = 更新日;
oCtl.Image = 画像;
oCtl.Location = new Point( 8, n * ( oCtl.Height + 8 ) );
this.Controls.Add( oCtl );
}
といった具合です
UserControl1 登録日、更新日、画像などは適宜修正しましょう
直接フォームに追加するほかにPanelを貼っておいてこちらに追加する方法でもいいでしょう
その場合
panel1.Controls.Add( oCtl );
などといった具合に修正しましょう
別のデータを表示する際には最初に
for( n = Controls.Count -1; n > 0; n-- )
{
Control ctl = Controls[n];
if ( ctl.GetTYpe().Name == "UserControl1" )
{
Controls.Remove( ctl );
}
}
といった具合に削除してから追加しましょう
No.1
- 回答日時:
こんばんわぁ、Blackwinglsです。
PictureBoxを必要分作って配置したいって事ですか?
private System.Windows.Forms.PictureBox[] testPicureBox;
private void Form1_Load(object sender, EventArgs e)
{
this.testPicureBox = new System.Windows.Forms.PictureBox[5];
for (int i = 0; i < 5; i++)
{
this.testPicureBox[i] = new System.Windows.Forms.PictureBox();
this.testPicureBox[i].Size = new Size(100, 100);
this.testPicureBox[i].Location = new Point(0, i * 100);
this.testPicureBox[i].Image = Image.FromFile(@"C:\Documents and Settings\hogehoge\My Documents\My Pictures\01.gif");
this.Controls.Add(testPicureBox[i]);
}
って感じのとこですか?
ではでは~☆
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
背景画像の繰り返しについて
-
VBAのユーザーフォームのイメー...
-
「using Windows」でエラーが出る
-
Excel ユーザーフォームで表示...
-
EXCEL VBA 複数のImageコントロ...
-
「問題も答えも画像」のクイズ...
-
HTMLで画像をポップアップで表...
-
ワードプレスで画像を何枚か横...
-
UWSCでループ処理がうまくいき...
-
UWSCの色判定
-
vb.net 画像の透過について
-
svgクリップパスの応用コーディ...
-
決められた4つの座標をランダム...
-
スマホでサイトの画像を長押し→...
-
画像のピクセルデータの取得
-
画像の一部だけが点滅する画像...
-
UWSC「画像が無い場合」
-
uwscの画像認識に失敗します。
-
画像のビット数を変更する方法
-
UWSC 画像判定と条件分岐について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像のビット数を変更する方法
-
背景画像の繰り返しについて
-
「using Windows」でエラーが出る
-
EXCEL VBA 複数のImageコントロ...
-
【EXCEL VBA】ダブルクリックで...
-
UWSC 画像判定と条件分岐について
-
Excel ユーザーフォームで表示...
-
VBAのユーザーフォームのイメー...
-
MFCでCImageListに画像追加失敗
-
gif 画像上の ボタンに リン...
-
画像のピクセルデータの取得
-
同じ画像を複数回表示させる
-
uwcs のマクロで画像認識をして...
-
UWSC 画像認識で条件分岐
-
vb.net 画像の透過について
-
UWSCでループ処理がうまくいき...
-
UWSC「画像が無い場合」
-
画像比較
-
uwscについての質問です。 画面...
-
生成AI画像について
おすすめ情報