MSDN上有一点Clue,不确定能不能实现,试一下吧!:)
(假设Graphic字段包含的是图片的全路经文件名,其它应该类同)Image类型不支持DataBinding(它在Drawing下面),要用PictureBox才行,而PictureBox需要一个Image作为属性,而不是文件路径名。
Binding类有两个事件Format和Parse,是用于定制用户显示格式的:PicutreBox mypic = new PictureBox();
...  //设置其他显示属性, 生成DataSet ds。
Binding picbd = new Binding("Image", ds, "MyRecords.Photo");
picbd.Format += new ConvertEventHandler(PathToImage);
picbd.Parse  += new ConvertEventHandler(ImageToPath);
mypic.DataBindings.Add(picbd);
...private void PathToImage(object o, ConvertEventArgs arg) {
   if (arg.DesiredType != TypeOf(Image)) return;
   arg.Value = new Bitmap((string)arg.Value);
}private void ImageToPath(object o, ConvertEventArgs arg) {
   if (arg.DesiredType != TypeOf(string)) return;
   arg.Value = strFilePath; //you need to save the path name somewhere, cause you cannot get it from a Bitmap object.
}
...

解决方案 »

  1.   

    field->byte[]->stream->picturebox的属性
      

  2.   

    如果是windows form:field->byte[]->stream->picturebox 属性
    如果是web form:imagebox的src属性指向一个binarywrite(field)的aspx
      

  3.   

    能在.net(c#)上用PictureBox吗?我的图像也存在数据库里面。。
      

  4.   

    下面是我的实验程序,通过。
    记得在C:下放上1.jpg, 2.jpg, 3.jpg.using System;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Windows.Forms;namespace MChen.LearnCSharp.MyForm {
    internal class MyDB {
    public static DataSet GetDSet() {
    DataSet ds = new DataSet("myDataSet");
           DataTable tCust = new DataTable("Info");
    DataColumn cCustID = new DataColumn("ImagePath", typeof(string));
    tCust.Columns.Add(cCustID);
    ds.Tables.Add(tCust);

    DataRow newRow1;
    for(int i = 1; i < 4; i++)
           {
              newRow1 = tCust.NewRow();
              tCust.Rows.Add(newRow1);
           }
    tCust.Rows[0]["ImagePath"] = @"c:\1.jpg";
    tCust.Rows[1]["ImagePath"] = @"c:\2.jpg";
    tCust.Rows[2]["ImagePath"] = @"c:\3.jpg";
           return ds;
    }
    }

    public class MyForm: Form {
    private PictureBox _pic;
    private Button     _btnnext, _btnprev;
    private string    _str = @"c\1.jpg";
    private DataSet    _ds;
    private BindingManagerBase _img;

    private void PathToImage(object o, ConvertEventArgs arg) {
    if (arg.DesiredType != typeof(Image)) return;
    _str = (string)arg.Value;
    arg.Value = new Bitmap((string)arg.Value);
    } private void ImageToPath(object o, ConvertEventArgs arg) {
       if (arg.DesiredType != typeof(string)) return;
       arg.Value = _str; 
    }

    public MyForm ()
    {
    Text = "hello";
    Width = 360; Height = 200;
    _pic = new PictureBox();
    _pic.Width = Width - 100;
    _pic.Height = Height;
    _pic.Image = new Bitmap(@"c:\test.jpg");
    _pic.SizeMode = PictureBoxSizeMode.StretchImage;
    Controls.Add( _pic );

    _ds = MyDB.GetDSet();
    Binding picbd = new Binding("Image", _ds, "Info.ImagePath");
    picbd.Format += new ConvertEventHandler(PathToImage);
    picbd.Parse  += new ConvertEventHandler(ImageToPath);
    _pic.DataBindings.Add(picbd);

    _btnnext = new Button();
    _btnnext.Text = "Next";
    _btnnext.Left = Width - 100;
    _btnnext.Width = 100;
    _btnnext.Top = 0;
    _btnnext.Height = 100;
    _btnnext.Click += new EventHandler(OnNextClick);
    Controls.Add(_btnnext);

    _btnprev = new Button();
    _btnprev.Text = "Prev";
    _btnprev.Left = Width - 100;
    _btnprev.Width = 100;
    _btnprev.Top = 100;
    _btnprev.Height = 100;
    _btnprev.Click += new EventHandler(OnPrevClick);
    Controls.Add(_btnprev);

    ClientSize = new Size(Width, Height);
    _img = BindingContext[_ds, "Info"];
    }

    public void OnNextClick(object o, EventArgs arg) {
    Console.WriteLine(_img.Position);
    _img.Position += 1;
    }

    public void OnPrevClick(object o, EventArgs arg) {
    Console.WriteLine(_img.Position);
    _img.Position -= 1;
    }

    public static void Main()
    {
    Application.Run(new MyForm());
    }
    }
    }