none
[vb2008] PictureBox 的小問題 [已解決] RRS feed

  • 問題

  • 以下是我的程式碼

    MyPicNumber = DGView3.CurrentRow.Cells("貨號"
    ).Value.ToString
    MyPicPath = PicPath & MyPicNumber & ".JPG" MyPicPath2 = PicPath2 & MyPicNumber & ".JPG"
    '這行主要是顯示 想讀取的位置 PictureBox1.ImageLocation = MyPicPath
    PictureBox1.ImageLocation = MyPicPath2
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
    我有兩個 textbox 可以作為輸入 要讀取的目錄名稱
    我用過
    Picturebox1.imagelocation = MyPicPath or MyPicPath2 
    這種方式
    他會出現

     從字串 "C:\照片\96春夏\0000000000.JPG" 至型別 'Long' 的轉換是無效的。

    的錯誤訊息

    如果拆成兩行 又只會讀取最後一行的指令,也就是 只會讀取第二個目錄
    請問各位大大有什麼方式可以兩個目錄一起讀取呢?

    ====================
    方式如下
    ====================
    If File.Exists(MyPicPath) = True Then

          PictureBox1.ImageLocation = MyPicPath
          PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
          PictureBox2.Hide()
          PictureBox1.Show()
        Else
          PictureBox2.ImageLocation = MyPicPath2
          PictureBox2.SizeMode = PictureBoxSizeMode.StretchImage
          PictureBox1.Hide()
          PictureBox2.Show()

    ====================
    小歐的方式
    ====================
    If File.Exist(MyPic1FullName) Then
      Picturebox1.Imagelocation = MyPic1FullName
    Else if File.Exist(MyPic2FullName) Then
      Picturebox1.Imagelocation = MyPic2FullName
    Else
      MessageBox.Show("圖檔不存在")
    End if
    • 已編輯 白楓林 2009年7月3日 下午 05:52
    2009年7月3日 下午 03:38

解答

  • If File.Exist(MyPic1FullName) Then
      Picturebox1.Imagelocation = MyPic1FullName
    Else if File.Exist(MyPic2FullName) Then
      Picturebox1.Imagelocation = MyPic2FullName
    Else
      MessageBox.Show("圖檔不存在")
    End if
    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    • 已標示為解答 白楓林 2009年7月3日 下午 05:46
    2009年7月3日 下午 03:58
    版主

所有回覆

  • 是哪本書教你 string 可以做 OR 運算的?
    要顯示兩個圖,就用兩個 PictureBox。
    小人物一枚。
    2009年7月3日 下午 03:44
    版主
  • 1. 假如您想要一個 PictureBox,顯示兩張圖片的話,可以參考這個做法

    http://www.dotblogs.com.tw/chou/archive/2009/02/11/7118.aspx

    2. 另外,為什麼不用2個PictureBox去顯示2張圖,或許也可以透過動態產生PictureBox的方式去呈現


    3. 使用 ListView 顯示您的縮圖,然後放一個 PictureBox 去對應顯示原始圖


    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    2009年7月3日 下午 03:46
    版主
  • 你是要把兩張圖疊在一起顯示在PictureBox上嗎 ?
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重
    2009年7月3日 下午 03:47
    版主
  • 假如您想要一個 PictureBox,顯示兩張圖片的話,可以參考這個做法

    http://www.dotblogs.com.tw/chou/archive/2009/02/11/7118.aspx

    另外,為什麼不用2個PictureBox去顯示2張圖,或許也可以透過動態產生PictureBox的方式去呈現


    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    因為我還在 「搞」 FOXPRO 那套程式碼, 因為他那套程式設定中
    「看起來」好像只有一個 Picturebox 卻可以讀取兩個目錄.
    所以我才想 或許 VB 的 Picturebox 也可以作到?
    2009年7月3日 下午 03:51
  • 你是要把兩張圖疊在一起顯示在PictureBox上嗎 ?
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重
    嗯嗯,可以這樣說
    我倆個目錄分別放不同的 圖片
    我想用 貨號 去讀取 兩個目錄
    意思就是 當我在  一號目錄找不到這個檔案 會自動 去搜尋 二號目錄
    2009年7月3日 下午 03:53
  • 是哪本書教你 string 可以做 OR 運算的?
    要顯示兩個圖,就用兩個 PictureBox。
    小人物一枚。
    關於這個....說起來是一個笑話 (我自己的笑話)
    因為 " OR " 英文不就是  「或者」嗎?

    2009年7月3日 下午 03:55
  • If File.Exist(MyPic1FullName) Then
      Picturebox1.Imagelocation = MyPic1FullName
    Else if File.Exist(MyPic2FullName) Then
      Picturebox1.Imagelocation = MyPic2FullName
    Else
      MessageBox.Show("圖檔不存在")
    End if
    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    • 已標示為解答 白楓林 2009年7月3日 下午 05:46
    2009年7月3日 下午 03:58
    版主
  • 嗯嗯,可以這樣說
    我倆個目錄分別放不同的 圖片
    我想用 貨號 去讀取 兩個目錄
    意思就是 當我在  一號目錄找不到這個檔案 會自動 去搜尋 二號目錄
         我解釋一下,應該是先找 MyPicPath如果在就放在PictureBox上 , 如果 MyPicPath 是不存在的,就去找 MyPicPath2 ?





    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重
    2009年7月3日 下午 03:59
    版主
  • 指定PictureBox的圖檔之前先自己去放圖片的資料夾搜尋一下不就可以了?可以參考

    directory.getfiles
    http://msdn.microsoft.com/zh-tw/library/ms143316(VS.80).aspx
    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    2009年7月3日 下午 04:01
    版主
  • If File.Exist(MyPic1FullName) Then
      Picturebox1.Imagelocation = MyPic1FullName
    Else if File.Exist(MyPic2FullName) Then
      Picturebox1.Imagelocation = MyPic2FullName
    Else
      MessageBox.Show("圖檔不存在")
    End if
    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    我剛剛回的時候 沒看到你這個解答
    不過 我用的方式也是跟你一樣
    且還是用了 兩個 Picturebox
    我用的方式如下


    If File.Exists(MyPicPath) = True Then

          PictureBox1.ImageLocation = MyPicPath
          PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
          PictureBox2.Hide()
          PictureBox1.Show()
        Else
          PictureBox2.ImageLocation = MyPicPath2
          PictureBox2.SizeMode = PictureBoxSizeMode.StretchImage
          PictureBox1.Hide()
          PictureBox2.Show()
    • 已標示為解答 白楓林 2009年7月3日 下午 05:47
    • 已取消標示為解答 bauannModerator 2009年7月4日 上午 01:36
    2009年7月3日 下午 05:47
  • 1. 假如您想要一個 PictureBox,顯示兩張圖片的話,可以參考這個做法

    http://www.dotblogs.com.tw/chou/archive/2009/02/11/7118.aspx

    2. 另外,為什麼不用2個PictureBox去顯示2張圖,或許也可以透過動態產生PictureBox的方式去呈現


    3. 使用 ListView 顯示您的縮圖,然後放一個 PictureBox 去對應顯示原始圖


    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/

    關於 你的 3 的方式 我是用 開另一個 from 去顯示 大圖
    2009年7月3日 下午 05:57