Он должен получить текст из текстового поля3 из формы1, но это не так. Форма предварительного просмотра - это изображение, я хочу загрузить изображение с помощью picureBox1.Load (url_from_textbox3_form_form1) и изменить размер формы (width = picturebox.image.with и height = same). Если я вставляю текст в visual studio editor, все работает отлично.get не получает значение
Form1: Форма
public string previewImageUrl
{
get { return textBox3.Text; }
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (textBox3.Text != null)
{
previewImage frm = new previewImage();
frm.ShowDialog(this);
}
else
MessageBox.Show("You're an idiot.", "LOL", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
previewImage:
public void load()
{
Form1 frm = new Form1();
string url = frm.previewImageUrl;
MessageBox.Show(url);
try
{
pictureBox1.Load(url);
this.Width = pictureBox1.Image.Width;
this.Height = pictureBox1.Image.Height;
MessageBox.Show(pictureBox1.Image.Height.ToString() + " ; " + pictureBox1.Image.Width.ToString());
}
catch (Exception)
{
MessageBox.Show("Something went wrong!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void previewImage_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(load));
thread.Start();
}
Эта нить не нужна. Я просто попробовал несколько методов без эффекта.
поясните лучше, что происходит –
у меня странное ощущение, что вы создаете новый экземпляр Form1, никогда не показывая его, но при попытке прочитать содержимое его текстовое поле3. И, кстати, если вы определяете textbox3 во время разработки, он никогда не будет равен нулю. – Steve
@Notoric 'Form1' открывает' previewImage', который создает новый экземпляр 'Form1', не показывая его, и принимает' previewImageUrl'. Это не тот же пример, что и предыдущий 'Form1' – dkozl