トップ回答者
gif表示→数秒後gifの位置にimgファイルを表示するには?

質問
回答
-
PictureBoxにコードで画像を表示する方法がわからないのですね?
であれば、私が上に紹介したページから辿れる、PictureBoxコントロールに簡単に画像を表示する
http://dobon.net/vb/dotnet/graphics/pictureboximage.htmlに書かれています。例えば以下のコードは、リソースにあるImage2というファイルを表示します。
これを数秒後に表示するようにすればOKです。そのやり方を紹介したページも上で紹介していますので、トライしてみて下さい。Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click PictureBox1.Image = My.Resources.Image2 End Sub
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク supremekun 2015年8月28日 0:07
-
プログラムを作るというのは、したいことを実現する方法を考え、その方法を積み上げていくこと、ということは、理解されているでしょうか。パッと見て、次の事柄の積み上げかと思います。希望する場所に絵を表示する。「絵を表示した瞬間」からカウントダウンを開始する。カウントが0になった時に、希望する場所に絵を表示する/入れ替える。 こういった、「手順の分解」が出来ているでしょうか。出来ていないなら、コードを書く前の段階です。出来ているなら、こういった手順のうちの一つ一つについて質問を分けてください。
Jitta@わんくま同盟
- 回答としてマーク supremekun 2015年8月28日 0:07
-
supremekun さま よろしく。
PictureBox の Image と BackGroundImage を使って書いてみました。 Timer を使っています。(デザイナで設定)
Public Class Form1 Dim status As Integer = 0 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' 無題1=無題1.gif Resources ' 無題2=無題2.jpg Resources Me.PictureBox1.BorderStyle = BorderStyle.Fixed3D '分り易く Me.PictureBox1.BackgroundImage = My.Resources.無題1 Me.PictureBox1.BackgroundImageLayout = ImageLayout.Zoom End Sub Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown 'Timer Timer1.Interval = 3000 '3 秒 Timer1.Start() ' 処理開始 End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick Select Case status Case 0 Me.PictureBox1.Image = My.Resources.無題2 Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage 'Timer リセット status = 1 Timer1.Interval = 2000 '2 秒 Timer1.Start() ' 処理再開 Case 1 Me.PictureBox1.Image = Nothing Me.Timer1.Dispose() End Select End Sub End Class
- 編集済み ShiroYuki_Mot 2015年8月27日 2:23 コードのコメントにコピーミス 訂正
- 回答としてマーク supremekun 2015年8月28日 0:07
-
自分の思い通りに動くとうれしいですよね。何十年経っても私は今でもそうですよ。きっと、みなさんもそうだと思います。
さて、まず書籍で勉強されることを私もお勧めします。何事も基礎は大事だと思うのです。そのあとは、実現されたいことのサンプルコードをネットで探されるのが良いと思います。そのコードを理解し、改良するために基礎は大いに役立ちます。もちろん、その際にMSDNなどでクラスのヘルプを見ることも重要です。それでもわからなければ、また忌憚なくご質問下さい。一人でも多くの人がプログラム技術を高められ、そして楽しまれることを微力ながら応援しております。
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク supremekun 2015年8月29日 13:51
-
supremekun さま 回答への選出ありがとうございます。
尚、いきなりコードを書いたので、解説や説明が書けていませんでした。
ここで細々と書くのも何ですから、自分の Blog に纏めます。
以下の URL ですが、2015/09/01 に公開予定です。 もう少し、お待ち下さい。
VB PictureBox に一時的に別の Image を
http://shiroyuki-mot-says.blogspot.com/2015/09/vb-picturebox-show-temporary-image.html
- 回答としてマーク supremekun 2015年8月29日 13:51
すべての返信
-
visual basic 14.0とは、Visual Studio 2015のversion 14.・・・のことですよね。一般的にはversionで会話することはなく、Visual Studio 2015のように製品名を用います。また、Visual Studioのエディションも書かれると良いです。例えば、Visual Studio 2015のExpressなどです。
ご質問される際に留意される点が以下にまとまっておりますので、一度ご覧ください。これに沿ってきっちりと全て答える必要はありませんが、できるだけ回答者に質問内容、および問題が発生している背景が伝わることを意識して書かれると幸いです。フォーラムのご利用方法(質問の投稿)について
https://social.msdn.microsoft.com/Forums/ja-JP/b2074c04-2e91-414d-8e9e-d634be311e31?forum=announcejaさて、ご質問内容ですが、gif画像を表示し、その位置にimgファイルを数秒後に表示したいというのはわかりますが、特定の位置というのがはっきりしません。例えば、デスクトップ上なのか、そのexeファイルをクリックして起動して表示されるフォーム上なのかです。
的確なアドバイスを得るには、的確な質問が重要です。最初は無理かもしれませんが、技術力が上がっていけば的確な質問ができる力も自ずとついてきますので、そのような質問ができるように継続的に意識されていくと良いと思います。★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
-
すみません。以後そのように書き込みます。
exeのフォーム上でということです。
また特定の位置と書き込みましたがexeのフォーム上で自分の置きたい位置動かせるのなら何処でもいいです。- 編集済み supremekun 2015年8月26日 1:38
-
>exeのフォーム上でということです。
了解しました。さて、どの辺りまでできているのでしょうか? 単にgif画像、imgファイルを表示することはできているのでしょうか? 画像の位置を指定することがわからないのでしょうか? 数秒後に表示するということがわからないのでしょうか?
とりあえず以下をご紹介しておきます。画像、印刷(GDI+)編メニュー
http://dobon.net/vb/dotnet/graphics/index.htmlまた、数秒後に表示することを実現するには以下の方法が簡単ですが、以下のページにも書かれているように、数秒間、そのアプリケーションの操作が全くできなくなります。これが困る場合には、System.Timers.Timer等を使って、非同期(別スレッド)で画像更新を処理すると良いでしょう。
(参考)
指定した時間停止する
http://dobon.net/vb/dotnet/process/sleep.htmlvb.netのタイマーについて
http://okwave.jp/qa/q8695285.html★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
-
>すみません。入れ替え方法が分からないので教えていただけると幸いです。
画像の表示方法はいろいろありますので、今、表示されているコードをご提示下さい。そのコードが適切かどうかはわかりませんが、とりあえずそのコードに沿って改修していく方向で進めることにしましょう。
(追記)
#コードを提示される時は、公開してはまずい情報が無いことに気を付けて下さい。
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2015年8月26日 4:10 追記
-
<画像の表示方法はいろいろありますので、今、表示されているコードをご提示下さい。そのコードが適切かどうかはわかりませんが、とりあえずそのコードに沿って改修していく方向で進めることにしましょう。
わかりました。宜しくお願い致します。コードは以下のとおりです。少し前に新たに作成し直した為gifファイルのみしか出していないです。
solution explorer>Myproject>Resources>Add Existing Fileからgif file選択。picture box taskから同じgifファイルを選び表示させているといった状態です。
Public Class Form1
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
- 編集済み supremekun 2015年8月26日 7:20
-
PictureBoxにコードで画像を表示する方法がわからないのですね?
であれば、私が上に紹介したページから辿れる、PictureBoxコントロールに簡単に画像を表示する
http://dobon.net/vb/dotnet/graphics/pictureboximage.htmlに書かれています。例えば以下のコードは、リソースにあるImage2というファイルを表示します。
これを数秒後に表示するようにすればOKです。そのやり方を紹介したページも上で紹介していますので、トライしてみて下さい。Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click PictureBox1.Image = My.Resources.Image2 End Sub
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク supremekun 2015年8月28日 0:07
-
プログラムを作るというのは、したいことを実現する方法を考え、その方法を積み上げていくこと、ということは、理解されているでしょうか。パッと見て、次の事柄の積み上げかと思います。希望する場所に絵を表示する。「絵を表示した瞬間」からカウントダウンを開始する。カウントが0になった時に、希望する場所に絵を表示する/入れ替える。 こういった、「手順の分解」が出来ているでしょうか。出来ていないなら、コードを書く前の段階です。出来ているなら、こういった手順のうちの一つ一つについて質問を分けてください。
Jitta@わんくま同盟
- 回答としてマーク supremekun 2015年8月28日 0:07
-
supremekun さま よろしく。
PictureBox の Image と BackGroundImage を使って書いてみました。 Timer を使っています。(デザイナで設定)
Public Class Form1 Dim status As Integer = 0 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' 無題1=無題1.gif Resources ' 無題2=無題2.jpg Resources Me.PictureBox1.BorderStyle = BorderStyle.Fixed3D '分り易く Me.PictureBox1.BackgroundImage = My.Resources.無題1 Me.PictureBox1.BackgroundImageLayout = ImageLayout.Zoom End Sub Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown 'Timer Timer1.Interval = 3000 '3 秒 Timer1.Start() ' 処理開始 End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick Select Case status Case 0 Me.PictureBox1.Image = My.Resources.無題2 Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage 'Timer リセット status = 1 Timer1.Interval = 2000 '2 秒 Timer1.Start() ' 処理再開 Case 1 Me.PictureBox1.Image = Nothing Me.Timer1.Dispose() End Select End Sub End Class
- 編集済み ShiroYuki_Mot 2015年8月27日 2:23 コードのコメントにコピーミス 訂正
- 回答としてマーク supremekun 2015年8月28日 0:07
-
自分の思い通りに動くとうれしいですよね。何十年経っても私は今でもそうですよ。きっと、みなさんもそうだと思います。
さて、まず書籍で勉強されることを私もお勧めします。何事も基礎は大事だと思うのです。そのあとは、実現されたいことのサンプルコードをネットで探されるのが良いと思います。そのコードを理解し、改良するために基礎は大いに役立ちます。もちろん、その際にMSDNなどでクラスのヘルプを見ることも重要です。それでもわからなければ、また忌憚なくご質問下さい。一人でも多くの人がプログラム技術を高められ、そして楽しまれることを微力ながら応援しております。
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク supremekun 2015年8月29日 13:51
-
supremekun さま 回答への選出ありがとうございます。
尚、いきなりコードを書いたので、解説や説明が書けていませんでした。
ここで細々と書くのも何ですから、自分の Blog に纏めます。
以下の URL ですが、2015/09/01 に公開予定です。 もう少し、お待ち下さい。
VB PictureBox に一時的に別の Image を
http://shiroyuki-mot-says.blogspot.com/2015/09/vb-picturebox-show-temporary-image.html
- 回答としてマーク supremekun 2015年8月29日 13:51