1、首先要有DataGridView1控件
10年積累的成都網站建設、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站設計后付款的網站建設流程,更有烈山免費網站建設讓你可以放心的選擇與我們合作。
2、檢查是否有“圖形文件名”這一列,用j = Me.DataGridView1.Columns(1).Index (假設圖形文件名在第二列)試試
對不起,我沒有學過vb.net,但是學過vb,希望這個可以
解決您程序的毛病。首先您注意以下兩種GetClientRect
聲明的方法:
Option Explicit
Private Declare Function GetClientRect Lib "user32" ( _
ByVal hwnd As Long, _
ByRef lpRect As RECT _
) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Form_Load()
Dim r As RECT
Me.AutoRedraw = True
GetClientRect Me.hwnd, r
Print r.Left
Print r.Right
Print r.Top
Print r.Bottom
End Sub
----------------------------------------------------------------------------
Option Explicit
Private Declare Function GetClientRect Lib "user32" ( _
ByVal hwnd As Long, _
ByVal lpRect As Long _
) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Form_Load()
Dim r As RECT
Me.AutoRedraw = True
GetClientRect Me.hwnd, VarPtr(r)
Print r.Left
Print r.Right
Print r.Top
Print r.Bottom
End Sub
看出問題了沒有,就在GetClientRect的第二個參數上:
一個是按地址傳遞,另一個是按值傳遞:
ByRef lpRect As RECT 用 GetClientRect Me.hwnd, r
ByVal lpRect As Long 用 GetClientRect Me.hwnd, VarPtr(r)
據我所知vb.net按值傳遞的比較多,應該用VarPtr獲取RECT類型
(結構體)的指針,然后傳遞。
希望能對你有所幫助。
很簡單的方法,貌似沒有。這個需要自己寫很多代碼:
用一個ListView控件。
判斷滾動條當前所顯示的圖片集合,獲取它們的物理路徑。
用Bitmap.FromImage方法把這些圖片讀出來,
然后獲取縮略圖,
把縮略圖用Graphics.DrawImage()繪制出來。
我可以提供Bitmap如何獲取縮略圖的方法:
'''?summary必須創建一個委托并將對此委托的引用作為獲取縮略圖?callback?參數傳遞,但不使用此委托。/summary
Public?Function?ThumbnailCallback()?As?Boolean
Return?False
End?Function
'''?summary返回Image,表示圖像指定?寬?和?高?的縮略圖。/summary
Public?Function?獲取縮略圖(位圖?As?Bitmap,?寬?As?Integer,?高?As?Integer)?As?Image
Dim?myCallback?As?New?Image.GetThumbnailImageAbort(ThumbnailCallback)
Return?位圖.GetThumbnailImage(寬,?高,?myCallback,?IntPtr.Zero)
End?Function
1.不正確
Dim abc As myClass,定義一個可以引用myClass類型對象的變量abc。這個abc變量存在于棧上。
abc=New myClass。New myClass創建myClass實例對象,這個對象存在于托管堆上。然后(同時)讓abc引用(指向)這個對象。
abc變量在棧上,而對象在托管堆上。
abc儲存的是對象的地址,而不是對象本身。
看下面的代碼
Dim a As myClass,b As myClass,c As myClass
a=New myClass
b=a
c=a
整個過程中只創建了一個myClass對象,位于托管堆上。
三個myClass類型的變量a、b、c位于棧上,都指向了這一個myClass對象
2.類的成員分 實例成員 和 靜態成員
實例成員 必須在實例對象上調用
靜態成員 可以直接調用,不需要實例對象。
new 就是實例化,比如實例化一個類,你才能訪問,,
好比,你是張三,把你的地址告訴了我,我在能找到你家在哪,這個過程就可以稱為實例化。
使用New關鍵字建立一個新的對象和用它屬的類來定義是一樣的。New關鍵字可以被用作來建立一個窗體、類模塊以及集合的實例。用戶在設計的時候建立的每一個窗體都是一個類。New關鍵字能夠用來建立一個類的實例。
可以通過以下步驟來建立一個類的實例:
(1)在窗體上畫一個按鈕和幾個其他的控件。
(2)按鈕的Click事件過程加入以下代碼:
Dim x AS New Form1
x.Show
(3)運行程序,并且點擊幾次按鈕,把最前面的窗體移開,因為窗體是一個有可視界面的類,此時可以看見有很多窗體的拷貝,每一個窗體具有相同的控件,并且出現在一個地方。
(4)將列代碼加到按鈕的click事件過程中:
Dim f As Form1
f=New Form1
f.text="hello"
f.Show
使用New關鍵字可以從類模塊中定義的類中建立一個新的集合和對象,要知道它們怎樣工作,可以參考下面的例子:
(1)建立一個新的工程,并且在一個名為Form1的窗體上畫一個按鈕控件。
(2)在Project(項目)菜單下,選擇"Add Class"給工程添加一個類
(3)把新的類命名為ShowMe.VB
(4)在該新類中加入如下代碼:
PUblic Class ShowMe
Sub ShowFrm()
Dim frmNew As Form1
frmNew=New Form1
frmNew.Show()
frmNew.WindowState=1
End Sub
End Class
(5)在Button1_click事件的過程中加入如下代碼:Protected Sub Button1_Click(Byval sender As System.Object,_ Byval AS System.EventArgs) Dim clsNew As New ShowMe() clsNew.ShowFrm()End Sub
運行程序,并且點擊幾次按鈕,將看見每創建一個ShowMe類的新的實例時,在桌面上有一個最小化的窗體的圖標。
New關鍵字只能用來建立一個類的對象,不能建立一個基于基本的數據類型的對象,例如Integer。而且,不能建立一個基于一個具體對象的對象。例如,下面的代碼根據一個名為SomeClass的類,建立了一個名為Objx的對象,面后又錯誤地企圖根據對象Objx再建立一個其他的對象:
Dim Objx As New SomeClass()
Dim Objx AS New Objx()
以上代碼是非法的。
呵呵##~
當前名稱:關于vb.net推移圖實例的信息
分享路徑:http://www.yijiale78.com/article34/dodeipe.html
成都網站建設公司_創新互聯,為您提供網站內鏈、云服務器、電子商務、網站收錄、虛擬主機、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯