|
|
|
картинку на форму
|
|||
|---|---|---|---|
|
#18+
Помогите с вопросом. Надо поместить на форму ровно столько picturebox с загруженными в них сканов, сколько как таковых имеются в таблице (предварительно хранимкой отбираю необходимые сканы) Вот событийная процедура: private void dg_CellDoubleClick(object sender, DataGridViewCellEventArgs e) //создание формы-рисунка //загрузка рисунков в ds(набор данных) //создание кнопок навигации, сканирования { Form ris = new Form(); ris.Text = "копии документа "+type_dg.CurrentRow.Cells[1].Value.ToString()+"с номером "+dg.CurrentRow.Cells[1].Value.ToString(); //PictureBox pb = new PictureBox(); SqlConnection sqlcon = new SqlConnection(source); SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); sqlcon.Open(); SqlCommand sqlcom = new SqlCommand("s_ris", sqlcon); sqlcom.CommandType = CommandType.StoredProcedure; sqlcom.Parameters.Add("@number_doc", SqlDbType.VarChar).Value = dg.CurrentRow.Cells[1].Value.ToString(); sqlcom.UpdatedRowSource = UpdateRowSource.None; da.SelectCommand = sqlcom; da.Fill(ds, "s_ris"); PictureBox[] pb = new PictureBox[ds.Tables[0].Rows.Count]; if (ds.Tables[0].Rows.Count > 0)//проверка на наличие строк в таблице с рисунками { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { object ImageFromDataSet = ds.Tables[0].Rows["ris"]; byte[] b = (byte[])ImageFromDataSet; if (b.Length > 0) { System.IO.MemoryStream str = new System.IO.MemoryStream(b, true); str.Write(b, 0, b.Length); pb.Image = (Bitmap)Image.FromStream(str); } //MessageBox.Show(ds.Tables[0].Rows.Count.ToString( )); sqlcon.Close(); ris.Controls.Add(pb); } } else MessageBox.Show("нет данных в таблице"); bt.Size = new System.Drawing.Size(120, 40); bt.Location = new System.Drawing.Point(200, 200); bt.Text = "сканировать"; ris.Controls.Add(bt); bt.Click += new System.EventHandler(bt_Click); ris.ShowDialog(); } когда загружал только одну картинку, то все работает превосходно, но попробовал сделать массив picturebox и выдает ошибку Object reference not set to an instance of an object. поясню: bt-кнопка ris - форма pb- picturebox может грузить по одной на форму, а кнопками навигации грузить другие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 10:10 |
|
||
|
картинку на форму
|
|||
|---|---|---|---|
|
#18+
Ошибка где-то в коде, происходит попытка обратиться к объекту, которого не существует, проверь код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 16:03 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34396395&tid=1352860]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 366ms |

| 0 / 0 |
