Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
10.06.2009, 18:21 | #16 |
Re: Новичок с смешными вопросами для профи на С#
у меня тоже есть вопрос:
имеется форма с кнопками на запуск разных программ (например word и excel). Возможно ли сделать так, чтобы эти приложения открывались на этой же форме, но на другой вкладке, как к примеру работает opera. |
|
Реклама: | В КНС всегда быстро, выгодно, удобно: archer ax55 купить - билеты на футбол в подарок каждому покупателю | Отличное предложение в КНС Нева - процессор 4 ядра цена - поставщик техники для дома и бизнеса в Санкт-Петербурге. | красное небо фильм 2023 отзывы | Выгодное предложение от KNS digital solutions купить недорогой компьютер - более 50-ти тысяч наименований товаров со склада в Москве | связать BitBucket |
12.06.2009, 21:29 | #17 |
Неактивный пользователь
Пол: Регистрация: 07.06.2009
Сообщений: 7
Репутация: 0
|
Re: Ответ: Новичок с смешными вопросами для профи на С#
|
02.07.2009, 01:33 | #18 |
Неактивный пользователь
Пол: Регистрация: 11.02.2007
Сообщений: 13
Репутация: 4
|
Re: Новичок с смешными вопросами для профи на С#
Нет проблем, ставишь на форму tabControl, делаешь сколько тебе нужно вкладок и описываешь логику нажатия кнопок, делов то на 5 минут. |
02.07.2009, 11:46 | #19 | |||||||||||||||||||||||
Новичок
Пол: Регистрация: 02.11.2007
Сообщений: 26
Репутация: 14
|
Re: Новичок с смешными вопросами для профи на С#
На этой же форме они не откроются. Для того, чтоб страница эксель была на форме нужно использовать ActiveX компоненты. |
|||||||||||||||||||||||
08.07.2009, 18:47 | #20 | |||||||||||||||||||||||
Неактивный пользователь
Пол: Регистрация: 11.01.2009
Сообщений: 9
Репутация: 0
|
Re: Новичок с смешными вопросами для профи на С#
Вы не правы. Можно, правда придется повозится. Вот пример из лично написанной проги. Фрагмент: Код:
using Excel = Microsoft.Office.Interop.Excel; ..... ..... System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); excelapp = new Excel.Application(); excelapp.Visible = true; excelappworkbooks = excelapp.Workbooks; //Открываем книгу и получаем на нее ссылку excelappworkbook = excelapp.Workbooks.Open(path_pril + @"\Excel\in1.xls", Type.Missing, Type.Missing, Type.Missing, "WWWWW", "WWWWW", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //Получаем массив ссылок на листы выбранной книги excelsheets = excelappworkbook.Worksheets; // Работаем со вкладкой Сервера excelworksheet = (Excel.Worksheet)excelsheets.get_Item(3); //Делаем третий лист активным //excelworksheet.Activate(); //Вывод в ячейки используя номер строки и столбца Cells[строка, столбец] // У меня 13 вместо текстового поля for (int m = 8; m < Convert.ToInt16(textBox_servers.Text.ToString()) + 8; m++) { for (int n = 4; n < countDsColumn3 + 4; n++) { //ondate if (n == 29 || n == 30) { excelcells = (Excel.Range)excelworksheet.Cells[m, n]; //Выводим координаты ячеек ds3.Tables[0].Rows[m - 8][n - 4] = DateTime.FromOADate(Convert.ToDouble(excelcells.Value2)); //listBox1.Items.Add((n-4).ToString() + " " + (m-8).ToString() + "|"); } else if (n == 4 || n==20 || n==21 || n ==23 || n==24 || n==25) { excelcells = (Excel.Range)excelworksheet.Cells[m, n]; //Выводим координаты ячеек ds3.Tables[0].Rows[m - 8][n - 4] = Convert.ToInt32(excelcells.Value2); //listBox1.Items.Add((n-4).ToString() + " " + (m-8).ToString() + "|"); } else { //listBox1.Items.Add((n - 4).ToString() + " " + (m - 8).ToString() + "|"); excelcells = (Excel.Range)excelworksheet.Cells[m, n]; //Выводим координаты ячеек ds3.Tables[0].Rows[m - 8][n - 4] = Convert.ToString(excelcells.Value2); } } ds3.Tables[0].Rows.Add(m - 8); } |
|||||||||||||||||||||||
09.07.2009, 13:39 | #21 | |||||||||||||||||||||||
Новичок
Пол: Регистрация: 02.11.2007
Сообщений: 26
Репутация: 14
|
Re: Новичок с смешными вопросами для профи на С#
Не соглашусь с Вами. В приведенном фрагменте кода вы используете Com объект экселя и работаете с данными из книги. Я и не отрицал что это можно делать. Но вопрос то был про то, что можно ли открывать эксель на этой же форме, чтобы собственно это приложение работало внутри формы. |
|||||||||||||||||||||||
09.07.2009, 15:04 | #22 |
Неактивный пользователь
Пол: Регистрация: 11.01.2009
Сообщений: 9
Репутация: 0
|
Re: Новичок с смешными вопросами для профи на С#
Согласен что com взаимодействие. я думаю не очень человека интересует "как", интересует "результат", а результат очевиден: работа с файлами xls. Никто не мешает менять данные и таким же макаром писать обратно в файл.
Хотя тема для новичков, так наверное немного не по теме мы тут дискутируем.. простым путем эту задачу не выполнить. |
13.07.2009, 10:14 | #23 | |||||||||||||||||||||||
Новичок
Пол: Регистрация: 10.02.2008
Сообщений: 8
Репутация: 1
|
Re: Новичок с смешными вопросами для профи на С#
Тут нужно просто определиться что требуется сделать с документом - отобразить его на форме или работать с его содержимым программно. Для отображения документа проще всего закинуть на вкладку WebBrowser и ему передавать ссылки на документы ворда или екселя - он сам все необходимые действия для запуска и отображения документов выполнит. Возиться самому со встраиванием на формы объектов через ActiveX муторно и ненадежно, явно не для новичков. А для программной работы с документами лучше работать не через СОМ напрямую, а использовать VSTO - это обертки для .Net для комовских объектов офиса. |
|||||||||||||||||||||||
02.10.2009, 06:34 | #24 |
Неактивный пользователь
Регистрация: 01.10.2009
Сообщений: 10
Репутация: 1
|
Re: Новичок с смешными вопросами для профи на С#
нафига отчищать форму если это делает сборщик мусора?
|
16.11.2009, 22:07 | #25 |
Пользователь
Пол: Регистрация: 02.03.2007
Сообщений: 54
Репутация: 23
|
Re: Новичок с смешными вопросами для профи на С#
есть 2 класса:Клиент и Контактное Лицо, причем контактных лиц у одного клиента может быть много
public abstract class ClientN { public string name; public string fullName; public string numDog; public List<KontLica> kontlico; public string DopInfo; } public abstract class KontLica { public string firstName; public string lastName; public string middleName; public string ocupation; public string tel; } Я пытаюсь создать список экземпляров класса ClientN: List<ClientN> listClients1=new List<ClientN>(); //создали место под список в памяти ClientN NewClient=new ____________________ ; //создали _______________________________ listClients1.Add(NewClient); //занесли _______________________________ NewClient.name = "ООО Рога и копыта"; // занесли некоторое значение имени Так вот: где я оставил подчеркивание, я не знаю что написать. Если кто сталкивался с такой проблемой, пожалуйста ответьте |
17.11.2009, 14:12 | #26 |
Новичок
Пол: Регистрация: 02.11.2007
Сообщений: 26
Репутация: 14
|
Re: Новичок с смешными вопросами для профи на С#
Тебе нужно создать дочерний класс от абстрактного, например SomeClient.
И соответственно использовать: ClientN NewClient=new SomeClient(); |
Сказали спасибо: |
17.11.2009, 21:11 | #27 |
Пользователь
Пол: Регистрация: 02.03.2007
Сообщений: 54
Репутация: 23
|
Re: Новичок с смешными вопросами для профи на С#
А как обращаться к public List<KontLica> kontlico; в классе ClientN?
|
17.11.2009, 22:08 | #28 |
Новичок
Пол: Регистрация: 02.11.2007
Сообщений: 26
Репутация: 14
|
Re: Новичок с смешными вопросами для профи на С#
Тебе необходимо реализовать дочерние классы примерно так:
public class SomeKontLica:KontLica { // тут написать конструктор, необходимые методы } public class SomeClient: ClientN { public SomeClient() { kontlico=new List<KontLica>();//создаешь коллекцию name=.... и т.д. } //метод добавления контактного лица public void AddKontlico(SomeKontLica a) { kontlico.Add(a);//добавляем в колекцию переданное контактное лицо } } |
Сказали спасибо: |
16.01.2010, 15:54 | #29 |
Неактивный пользователь
Пол: Регистрация: 06.08.2009
Сообщений: 12
Репутация: 2
|
Re: Новичок с смешными вопросами для профи на С#
Последний раз редактировалось dubina2; 22.05.2010 в 09:28.. |
05.02.2010, 14:44 | #30 |
Неактивный пользователь
Пол: Регистрация: 05.04.2008
Сообщений: 33
Репутация: 15
|
Re: Новичок с смешными вопросами для профи на С#
А можно как-то создать екселевский документ, если на компе нету офиса. Базу данных Acces знаю можно, а вот с exel как быть?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
практическая задача для профи | W.D.kulibin | PHP | 2 | 16.09.2009 13:40 |
Профи DVD-Video | Frayar | Архив | 2 | 21.07.2008 19:25 |
Профи / Vault, The /2005 | Meverik | Зарубежные фильмы | 0 | 08.06.2005 21:35 |
|
|