Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2012, 16:36   #1
samouelson
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 46
По умолчанию Не работает рабочий код при навеске на другой контрол

Доброго времени суток всем! Проблема следующая. Есть кнопка, на которой подвешено событие. Нажимаешь кнопку и все работает. Вот код
Код:
 private void button1_Click(object sender, EventArgs e)
        {
            string newPath = Path.Combine(Application.StartupPath, @"temp\temp1\model.3dm");

            Stream myStream = File.Open(newPath, FileMode.Open);
            {
                byte[] buf = new byte[myStream.Length];
                myStream.Read(buf, 0, (int)myStream.Length);
                myStream.Close();
                data.Rows[sqldataGrid.CurrentCell.RowNumber][sqldataGrid.CurrentCell.ColumnNumber] = buf;
            }
        }
Если подвесить это же событие на toolStripLabel то выдает ошибку (в позиции 16 строка отсутствует)
Код:
private void tslLoadFileToDB_Click(object sender, EventArgs e)
        {
            Stream myStream;
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "3dm files (*.3dm)|*.3dm|All files (*.*)|*.*";
            openFileDialog1.FilterIndex = 1;
            openFileDialog1.RestoreDirectory = true;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    byte[] buf = new byte[myStream.Length];
                    myStream.Read(buf, 0, (int)myStream.Length);
                    myStream.Close();
                    data.Rows[sqldataGrid.CurrentCell.RowNumber][sqldataGrid.CurrentCell.ColumnNumber] = buf; // ругается на эту строку
                }
            }
        }
Больше всего удивляет, то что один и тот же код в разных случаях работает по разному. Как быть? Что делать? Подскажите, пожалуйста.
Спасибо.

Последний раз редактировалось samouelson; 21.06.2012 в 16:55.
samouelson вне форума Ответить с цитированием
Старый 21.06.2012, 17:37   #2
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

скорей всего дело в sqldataGrid.CurrentCell
Gets or sets which cell has the focus. т.е. Когда вплывает меню фокус теряется
Reskov вне форума Ответить с цитированием
Старый 21.06.2012, 17:42   #3
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

Код:
sqldataGrid.CurrentCellChanged += Grid_CurCellChange;

private int x=0,y=0;
private void Grid_CurCellChange(object sender, EventArgs e)
{
   x= myDataGrid.CurrentCell.ColumnNumber ;
   y= myDataGrid.CurrentCell.RowNumber;
}


Код:
private void tslLoadFileToDB_Click(object sender, EventArgs e)
        {
myDataGrid.Rows[x][y]
}
Ps я не проверял, отпишите если не работает или не понятно
Reskov вне форума Ответить с цитированием
Старый 21.06.2012, 20:25   #4
samouelson
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 46
По умолчанию

Гениально, все работает. Спасибо, Reskov! Большое спасибо!
samouelson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двигаю контрол мышкой, почему мышка перемещается быстрее чем контрол PaulRom Microsoft Office Access 0 06.12.2011 11:19
Проверьте ,рабочий ли код Deshrefresh Паскаль, Turbo Pascal, PascalABC.NET 1 28.02.2011 08:36
Подправить рабочий код. michaelk Общие вопросы C/C++ 0 06.12.2009 11:33
Код рабочий, но случайным образом Эксель глючит при сохранении. Где ошибка7 grenles Microsoft Office Excel 12 23.09.2009 11:03
Не работает макрос при обновлении ячеек в реальном времени из другой книги Maxx Microsoft Office Excel 3 12.01.2009 11:42