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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2012, 18:37   #1
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
Вопрос Visual C# open\saveFileDialog и потоки.

Было задано написать простое приложение блокнот(SDI). Оно должно уметь плодить себе подобные формы, сохранять из них данные, загружать. Я создал форму, кинул на нее menuStrip, openFileDialog, saveFileDialog и один большой TextBox. Вот код на VS2008:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace IVP_lab1b
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        void NewForm()
        {
            Form1 form2 = new Form1();
            form2.ShowDialog();
        }
//Создать
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            new System.Threading.Thread(NewForm).Start();
        }
//Открыть файл...
        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            ofd.ShowDialog();
        }
//Сохранить как...
        private void toolStripMenuItem3_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            sfd.ShowDialog();

        }
    }
}
Не работают диалоги во всех формах кроме стартовой, ошибка:
Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it. This exception is only raised if a debugger is attached to the process.
[STAThread] над main в program.cs стоит.
Я понимаю, что дело в потоках, я пробовал быстро решить эту проблему и погуглить, но я раньше с потоками не работал и у меня ничего не получилось, слишком много надо проштудировать, а времени нет. Получится ли быстро решить проблему без гор кода?
dar3dev1l26 вне форума Ответить с цитированием
Старый 09.10.2012, 18:45   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Тут потоки не нужны.
eval вне форума Ответить с цитированием
Старый 09.10.2012, 21:54   #3
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

Ок, а что здесь надо?
dar3dev1l26 вне форума Ответить с цитированием
Старый 09.10.2012, 22:15   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Во первых зачем тут ShowDialog для формы?
Во вторых уберите поток просто напросто.
В третьих где соственно загрузка файла в ваш "большой TextBox"?
eval вне форума Ответить с цитированием
Старый 09.10.2012, 22:28   #5
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

сам процесс загрузки и сохранения я удалил для вашего удобства, потому что диалоги не работают и меня волнует только это. Диалоги я сделал для того, чтобы можно было выбрать файл для загрузки или место для сохранения набранного в текстбоксе текста. Я не в курсе как без потоков сделать так, чтобы при закрытии самой первой формы остальные оставались рабочими.
dar3dev1l26 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C# open\saveFileDialog и потоки. dar3dev1l26 Помощь студентам 0 09.10.2012 18:29
Open gl qsv1991 Помощь студентам 3 30.07.2012 20:35
Open/SaveFileDialog и TextBox DTroy Windows Forms 11 20.07.2012 15:07
Open GL, C++ Алина_258 Помощь студентам 6 18.06.2011 18:53
OPenFileDialog and SaveFileDialog Cpluser Общие вопросы .NET 5 30.04.2009 10:51