トップ回答者
form1とlistview

質問
-
おひさしぶりです。こんにちは★
最近はほったらかしだったもので、質問にきました。
form1にはディレクトリ開くボタン、印刷ボタン、閉じるボタンが有ります。
form2には印刷ページになります。
・form1にlistviewがあり、サムネイル表示させています。サムネイル表示が非常に荒いため、form2の印刷ページではローカルそのままのファイル(jpg)を載せたいのです。
用は、
・form1でlistviewで表示した画像をクリックし、印刷ボタンをクリックします。そうするとlistviewではサムネイルで表示されていますが印刷ボタンをクリックしたら印刷ページではサムネイルではない元のファイルのjpgを載せたいのです。ですが!!わたしの買ったテキスト及び、検索したサイトにヒントがないので投稿しました。
是非ご伝授ください。。。
回答
-
美流久 さんからの引用 でも、サムネイルの時にはフルパス使っていないですよ??これをどうやってform2のpictutureboxまでやろうかと思っています。 あ、そうなんですか...
dim f as new form2 f.show()
で開いていましたが、それだけではpictureboxに反映しないので・・・・orzうぬぬ・・・
まあ、PictureBox にあれこれしなさいというロジックがなければ、プログラムは何もできませんから。
Form2 に Public なメソッドをひとつ追加してみてください。
メソッド名は、SetPictureBoxImage とか、それなりの名前で良いでしょう。このメソッドの引数として必要なのは、ファイルパスだけです。
あとはこのメソッド内で、Form2 にある PictureBox にあれこれ出来ますよね?このように、クラス内のものはクラス内でどうこうするようにした方が良いです。
それを外部から呼び出したい場合は、今回ように Public メソッドなどを使います。
すべての返信
-
美流久さん、こんにちは。
美流久 さんからの引用 ・form1でlistviewで表示した画像をクリックし、印刷ボタンをクリックします。そうするとlistviewではサムネイルで表示されていますが印刷ボタンをクリックしたら印刷ページではサムネイルではない元のファイルのjpgを載せたいのです。ですが!!わたしの買ったテキスト及び、検索したサイトにヒントがないので投稿しました。 普通に考えてサムネイル画像を表示する方が、難しいわけですが...
印刷用のフォームでは、普通に PictureBox などのコントロールで画像を読み込むだけなのではないでしょうか?
それとも、印刷コンポーネント内のお話をしていますか? -
美流久 さんからの引用 ・form1でlistviewで表示した画像をクリックし、印刷ボタンをクリックします。そうするとlistviewではサムネイルで表示されていますが印刷ボタンをクリックしたら印刷ページではサムネイルではない元のファイルのjpgを載せたいのです。ですが!!わたしの買ったテキスト及び、検索したサイトにヒントがないので投稿しました。 普通に考えてサムネイル画像を表示する方が、難しいわけですが...
印刷用のフォームでは、普通に PictureBox などのコントロールで画像を読み込むだけなのではないでしょうか?
それとも、印刷コンポーネント内のお話をしていますか?>>>>>>>>>>>>>>>
じゃんぬねっとさんこんにちは★
largeiconの載せ方がサムネイルしかしらないので、サムネイルでやってみました^^;
すみません補足で、form2にはpictureboxが4つおいてあります。form1でサムネイル画像を選び、印刷ボタンをクリックするとform2の印刷ページでpicturebox4つに載せたかったんです。でもさっき考えてみたらサムネイルで4つの画像をえらぶって可能なんでしょうか?
pictureboxには4つとも違うjpgをいれたいのです(汗。
あと、プロパティに登録しておく形式ではなくて、自分自身がファイルを開き印刷ページに好きな画像を載せる、というようにしたいのです★
意味不明で申し訳ないです;;
-
>>美流久さん
美流久 さんからの引用 すみません補足で、form2にはpictureboxが4つおいてあります。form1でサムネイル画像を選び、印刷ボタンをクリックするとform2の印刷ページでpicturebox4つに載せたかったんです。でもさっき考えてみたらサムネイルで4つの画像をえらぶって可能なんでしょうか? 前にも 2 回ほど言ったと思いますが、それぞれバラバラで考えてください。
バラバラで考えると、それこそ各種サイトの Tips に載っているレベルのことになります。モジュール レベルで考えられるレベルでないならば、関数レベルで物事を考えましょう。
pictureboxには4つとも違うjpgをいれたいのです(汗。
あと、プロパティに登録しておく形式ではなくて、自分自身がファイルを開き印刷ページに好きな画像を載せる、というようにしたいのです★PictureBox の Image に動的にイメージを送り込む方法は、どのサイトにでも多分書いてあります。
4 つの画像を選ぶについても、OpenFileDialog を使ったサンプルを探せば良いでしょう。
バラバラで考えますと、このように手段はすぐ思い浮かびます。(仕様がそれで良いかどうかは別ですが)よく、「1 つ 1 つ、確実に解決していこう」 と仰る方がいますが、こういう時に使う言葉なのでしょうね。
それと、あなたがどの時点で躓いているのかわからないのも問題になります。
せめて、できないところを、その都度バラバラで聞いた方が良いでしょう。その方が、ヒントもピンポイントに提示しやすいです。
今どの時点で躓いているのかを提示して頂くこと、
何を調べていてどこまでわかっているのか提示することをご提案します。大変だとは思いますが、美流久さんのためにもなると思います。
-
-
trapemiya さん
じゃんぬ さん
おはようございます。multiselectとはなんぞや??と思い、ツールボックスから探していたらプロパティに有ること知りました。また一つ勉強になりました。(えw
もしや!!と思い、普段ローカルでも使っているように、複数選択したいサムネイル画像をコントロールキーで押しながら選択したい部分をクリックしてみたところ複数の選択ができたので、その次の段階をしていこうとしています。
じゃんぬさん、パスの事で以前聞きましたが全部がひとまとめでPGしようとしていました。学習能力がない私・・・(汗
一つ一つ丁寧にやってみます。
解決しましたら&未解決の場合また書きますね★
-
とばしてしまいました。。すみません
じゃんぬさん>>
それと、あなたがどの時点で躓いているのかわからないのも問題になります。
せめて、できないところを、その都度バラバラで聞いた方が良いでしょう。その方が、ヒントもピンポイントに提示しやすいです。
今どの時点で躓いているのかを提示して頂くこと、
何を調べていてどこまでわかっているのか提示することをご提案します。
サムネイルの4つ選択部分>>さきほどサムネイルの複数選択が解りました。
・form1でlistviewに表示しているサムネイルを選択したとき、form2ではサムネイルみたいに縮小のままの画像ではなくて、元のjpgのファイル画像でpicturebox1~picturebox4に4つそれぞれ違う画像を写したいです。
躓いている部分とすれば・・・form1のサムネイルのファイルを選びファイル名からそのファイルの画像をform2のpictureboxに入る様にしたいんです。
なので、サムネイルに載せている画像のファイル名パスをまず取得しようとしているんですが、system.io.path.getfilenameでやってみています。まだ、途中ですが・・・・失敗して理解深めて行きたいので、いろんなやり方でやっています;;
やっているうちに自分が何をしたいのか分かんなくなってきますw(汗
-
あけましておめでとうございます~。
>なので、サムネイルに載せている画像のファイル名パスをまず取得しようとしているんですが、system.io.path.getfilenameでやってみています。まだ、途中ですが・・・・失敗して理解深めて行きたいので、いろんなやり方でやっています;;
ファイル名ですか?それともファイルへのフルパスですか?
GetFileNameはフルパスからファイル名を取得するためのものなので、ファイル名しか取れないと思います。
フォルダを開いて、サムネイル画像を表示しているのであれば、フォルダまでのパスは取得できてないですか?
(思い違いであればごめんなさい_| ̄|○ノ)
サムネイル画像をForm1に表示しているところで、ファイルのフルパスを取得しておくと後々パス作らなくていいですね。
おまけですが、ListViewItemのTag使うと楽ですよ(・ω・*)
-
>なので、サムネイルに載せている画像のファイル名パスをまず取得しようとしているんですが、system.io.path.getfilenameでやってみています。まだ、途中ですが・・・・失敗して理解深めて行きたいので、いろんなやり方でやっています;;ファイル名ですか?それともファイルへのフルパスですか?
GetFileNameはフルパスからファイル名を取得するためのものなので、ファイル名しか取れないと思います。
フォルダを開いて、サムネイル画像を表示しているのであれば、フォルダまでのパスは取得できてないですか?
(思い違いであればごめんなさい_| ̄|○ノ)
サムネイル画像をForm1に表示しているところで、ファイルのフルパスを取得しておくと後々パス作らなくていいですね。
おまけですが、ListViewItemのTag使うと楽ですよ(・ω・*)
ジープさんこんにちわ★あけおめです♪
今丁度、フルパスしていたのでびっくりしました。フォルダのパスは「開く」ボタンの所にパスが取れています。
そう考えるともうパスは取れているんですね。今気づきました。(冷汗
フルパスは私の置くところがだめなのか解りませんが、エラーが出てしまいます。「印刷」ボタンに
dim p as string=system.io.path.getfullpath()なんですが()の中がいまいち理解出来ず。
dim p as string=system.io.path.getfullpath("c:¥,*.jpg")ってだめなんですか?PCの中のjpgのパスを取りたいんです。
あと、listviewitemのプロパティでメンバ0の所に追加してみました。
-
【壁】・ω・)ノ <こんにちわ
>dim p as string=system.io.path.getfullpath()なんですが()の中がいまいち理解出来ず。
まずはGetFilePathが何なのかをヘルプだかMSDNだかで調べることをオススメします。
そこにはちゃんと関数の使いかたが書いてあるはず…
わからなければ、GetFilePathのとこに張られてるリンクの関連項目を見ていけばわかると思われます~。
ローカルパソコンでMSDNをインストールしていないのであれば、MSDNのHPから探せば出てきます。
>あと、listviewitemのプロパティでメンバ0の所に追加してみました。
何を追加したのでしょうか…(・∀・;)
-
-
じゃんぬねっとさん>>
丁度入れ違いでレスしていたみたいです。フルパスはget出来ました★
でも、サムネイルの時にはフルパス使っていないですよ??これをどうやってform2のpictutureboxまでやろうかと思っています。
今のところ、じゃんぬさんのHPの画像部分(「bictureboxに画像を表示する」)の所を見たりチャレンジしていますが、form2に移動する場合、私だと↓
dim f as new form2
f.show()
で開いていましたが、それだけではpictureboxに反映しないので・・・・orzうぬぬ・・・
★タイトルですが以後気をつけます★
-
美流久 さんからの引用 でも、サムネイルの時にはフルパス使っていないですよ??これをどうやってform2のpictutureboxまでやろうかと思っています。 あ、そうなんですか...
dim f as new form2 f.show()
で開いていましたが、それだけではpictureboxに反映しないので・・・・orzうぬぬ・・・
まあ、PictureBox にあれこれしなさいというロジックがなければ、プログラムは何もできませんから。
Form2 に Public なメソッドをひとつ追加してみてください。
メソッド名は、SetPictureBoxImage とか、それなりの名前で良いでしょう。このメソッドの引数として必要なのは、ファイルパスだけです。
あとはこのメソッド内で、Form2 にある PictureBox にあれこれ出来ますよね?このように、クラス内のものはクラス内でどうこうするようにした方が良いです。
それを外部から呼び出したい場合は、今回ように Public メソッドなどを使います。