Member 2575377 Ответов: 0

Как я могу разрешить "объект не установлен в экземпляр объекта" в windows usercontrol


Каждый раз, когда я пытаюсь загрузить Windows UserControl из Обозревателя решений в IDE, я получаю эту ошибку. Я могу справиться с этим в ASP.NET и Windows form, но это была большая головная боль в Windows UserControl. Пожалуйста, что я могу сделать? Подробности смотрите ниже
Hide Call Stack 
 
at System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement)
at System.Drawing.Image.FromFile(String filename)
at COE_Information_Systems.uccStudentBioData.Clear() in C:\Users\Josh\Documents\Visual Studio 2015\Projects\COE_Information_Systems\COE_Information_Systems\uccStudentBioData.cs:line 105
at COE_Information_Systems.uccStudentBioData.uccStudentBioData_Load(Object sender, EventArgs e) in C:\Users\Josh\Documents\Visual Studio 2015\Projects\COE_Information_Systems\COE_Information_Systems\uccStudentBioData.cs:line 695
at System.Windows.Forms.UserControl.OnLoad(EventArgs e)
at System.Windows.Forms.UserControl.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Form.ControlCollection.Add(Control value)
at System.Windows.Forms.Design.ControlDesigner.DesignerControlCollection.Add(Control c)
Это моя строка 105 в коде пользовательских элементов управления
this.picStudentPhoto.Image = Image.FromFile(Application.StartupPath + "\\StudentImages\\DefaultStudent.png");
Это моя линия 695 в коде пользовательских элементов управления
void Clear()
{
            //Clear and re-initilaize all controls and variables
      

            this.picStudentPhoto.Image = Image.FromFile(Application.StartupPath + "\\StudentImages\\DefaultStudent.png");//Line 105
            this.picViewUTME.Image = Image.FromFile(Application.StartupPath + "\\StudentImages\\DocDefault.png");

}


private void uccStudentBioData_Load(object sender, EventArgs e)
{
            InitilizeCntrls();
            this.Clear();//line 695
            FillStudentDataGridView();
}


Что я уже пробовал:

Пока нет, потому что я не могу пройти через код

Richard MacCutchan

Может быть потому что Application.StartupPath это не то же самое в IDE, что и в конечном запущенном приложении. Вероятно, лучше добавить изображение к вашим ресурсам.

Member 2575377

Ричард!Какой пример кода может заменить это приложение, пожалуйста".StartupPath "? Мне нужно срочно кого-нибудь починить. Но строка 105 дает аналогичную ошибку.Что я делаю не так в этих сценариях? "Приложение.StartupPath, то есть папка Bin VS.NET 2015" содержит папки изображений с расширением .png в поле базы данных sql server и поле базы данных SQL server.

0 Ответов