私は、画像を追加し続ける拡張可能な画像フィードを備えたプログラムを作成しようとしています。そのチャンクを噛み砕く前に、オブジェクトの上に少し余分な情報を保持するカスタム画像クラスをテストしてみようとしていpicturebox
ます。私が抱えている問題は、を継承する私のオブジェクト( oSlideItem
as )が実行時に画像をロードしていないように見えることです。ヘルプとこのフォーラムに記載されている2つの異なる方法を試しましたが、実行時に画像を取得できないようです。を継承している私の特定の状況に言及するものは何も見つかりませんでした。clsSlideItem
picturebox
picturebox
画像を読み込む前に画像の場所とサイズのプロパティを設定してみましたが、何も変更されませんでした。
ネイティブの画像ボックスオブジェクトの代わりに継承された状態で機能を使用しているため、画像ボックスの画像を開始するために必要な追加の手順はありますか?
ご覧のとおり、これらの画像保持オブジェクトもコレクションに入れています。コレクションに入れずに画像を読み込んでテストしましたが、何も変更されていないので、それが問題になるとは思いません。コレクションにオブジェクトを追加すると、コレクション内のオブジェクトとコレクション外のオブジェクトが分離されると想定しています。私はまだそのための良いテストをしていません。
Public Class clsSliders
Private clFeedItems As New Collection 'collection of all feed items
Private oFeed As New clsFeed 'feed organizer layer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'build Feed
Dim oSlideItem As clsSlideItem 'feed item layer
'make collection of slider objects
oSlideItem = New clsSlideItem
oSlideItem.setRank(1, oFeed)
oSlideItem.ImageLocation = "C:\Users\nathan\Pictures\Chicago_River_from_Lake_Street_bridge.jpg"
oSlideItem.Load()
clFeedItems.Add(oSlideItem, 1)
oSlideItem = New clsSlideItem
oSlideItem.Image = Image.FromFile("C:\Users\nathan\Pictures\ReindeerPowerLines.png")
oSlideItem.setRank(2, oFeed)
'add to collection
clFeedItems.Add(oSlideItem, 2)
oSlideItem = New clsSlideItem
oSlideItem.Image = Image.FromFile("C:\Users\nathan\Pictures\TianmenMountain.jpg")
oSlideItem.setRank(3, oFeed)
'add to collection
clFeedItems.Add(oSlideItem, 3)
End Sub
'other subs and properties
End Class
と私の2番目のクラス:
Public Class clsSlideItem
Inherits PictureBox
Private iFeedRank As Integer 'current rank position
Public Sub setRank(rank As Integer, oFeed As clsFeed)
If Not IsNothing(oFeed) Then
Me.Left = oFeed.Left(rank)
Me.Top = oFeed.Top(rank)
Me.Width = oFeed.Width(rank)
Me.Height = oFeed.Height(rank)
iFeedRank = rank
End If
End Sub
'other subs and properties
End Class
oFeed
基本的clsFeed
には、追加の機能を持たせるためにクラスとして作成した構造です。コードのその部分が機能しているため、この問題の範囲には含まれていません。この投稿を乱雑にしたくなかったので、含めませんでした。