Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

kronos83



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо за ответ, GastonR
Пробовал так делать.
Но оно берет первое значение, а тут значений много (EditPackages)
Вот бы с этим как-то... в листбокс

Всего записей: 10 | Зарегистр. 30-01-2008 | Отправлено: 17:18 14-10-2008
Mike13x13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kronos83

Цитата:
Пробовал так делать.  
Но оно берет первое значение, а тут значений много (EditPackages)  
Вот бы с этим как-то... в листбокс

Напиши отдельный маленький класс для работы с ини-файлами нужной тебе структуры и с нужной тебе логикой. Просто и удобно.

Всего записей: 93 | Зарегистр. 13-09-2007 | Отправлено: 17:37 14-10-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kronos83
XML пользовать для хранения настроек не получится? Если нет, то вот этот класс попробуй. Если не подходит - по линкам попрыгай.
 
Добавлено:
Прочитал твою проблему с начала - есть подозрение, что это одноразовая задача. В таком случае не стоит городить никакой обработки INI-файлов, а просто найти в файле все строки, начинающиеся с EditPackages и извлечь строки от "=" до конца строки.
 
А уж получившиеся строки ты должен суметь в ListBox запихать.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 17:59 14-10-2008
kronos83



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем спасибо за ответы.
Сделал функцию как писал Mike13x13, хоят обошолся без класса.
А вот пропарсил как eLLoco написал. Запихнул.
На получится правда редактировать такой ини этой функцией, но зато в листбоксе есть то что нужно))
 
Добавлено:
Вот это переработал, кому интересно

Код:
 
Public Function ReadIniFile(ByVal filename As String) As List(Of String())
    Dim IniContents As New List(Of String())
    If Not IO.File.Exists(filename) Then
        Return IniContents
    End If
    Using INIFileParser As FileIO.TextFieldParser = My.Computer.FileSystem.OpenTextFieldParser(filename, "=")
        Dim CurrentLine() As String
        With INIFileParser
            .TrimWhiteSpace = True
            Do While Not INIFileParser.EndOfData
                CurrentLine = .ReadFields()
                If CurrentLine(0).Length > 0 Then
                    Select Case CurrentLine(0).Substring(0, 1)
                        Case ";"
                            'ignore comments
                        Case "["
                            'section header
                            IniContents.Add(New String() {CurrentLine(0), CurrentLine(0)})
                        Case Else
                            IniContents.Add(New String() {CurrentLine(0), CurrentLine(1)})
                    End Select
                End If
            Loop
        End With
    End Using
    Return IniContents
End Function
 

Всего записей: 10 | Зарегистр. 30-01-2008 | Отправлено: 18:33 14-10-2008
IkaryG



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет, есть вопрос
 
Описание задачи:
 
В распоряжениb веб страница (язык VB.NET), на ней ссылка на другую страницу и iframe где собственно открывается страница, но страница которая открывается, запрашивает логин и пароль (IIS/Windows Authentication).
 
Вопрос:
 
Как в ifram'e открыть страницу передав логин и пароль в коде?
Может есть еще какое решение?

Всего записей: 49 | Зарегистр. 30-06-2003 | Отправлено: 00:28 22-10-2008 | Исправлено: IkaryG, 00:30 22-10-2008
SUShadow

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые господа, есть вопрос.
У меня есть оконная программа на C#. И есть 2-а класса.  
1-ий класс обынчный класс создаваемый средой разаботки. (Там где все действия на нажатия кнопок описываються)
2- ой собственный клас.  
Так вот мне с собственого класса надо поменять значения comboBox. Как мне получить к нему доступ?

Код:
 
namespace BS_Upload
{
    public partial class Form1 : Form
    {
    }
    public class SQL_Conn
    {
         public void AddComb()
         {
            //Тут мне надо поменять значения ComboBox1, но когад пишу ComboBox1.Items.Add - получаю ошибку. Хоть доступ к элементу Form1 есть но там ComboBox1 нету.
 
         }
    }
 
}
 

Помогиту пожалуйста. Очень прошу.

Всего записей: 4 | Зарегистр. 22-10-2008 | Отправлено: 13:56 22-10-2008 | Исправлено: SUShadow, 13:57 22-10-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SUShadow
Сделайте в 1 классе public метод для работы с ComboBox, а из второго класса уже вызывайте этот метод.

----------
Никто не знает всего, а тем более не знает ничего тот, кто сам не подозревает, что многого не знает.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 16:23 22-10-2008
SUShadow

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2Lihonosov Можно ещё один небольшой вопрос.Как мне теперь получить доступ к этому методу?

Код:
 
namespace BS_Upload  
{  
    public partial class Form1 : Form  
    {  
    public void ComboAdd(string Item)
    {
      ComboBox3.Items.Add(Item);
    }
    }  
    public class SQL_Conn  
    {  
         public void AddComb()  
         {  
         //Можно пожалуйста показать как мне отсюда получить доступ к ComboAdd?
 
         }  
    }  
 
}  
 
 

Всего записей: 4 | Зарегистр. 22-10-2008 | Отправлено: 19:48 22-10-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SUShadow

Код:
Form1 myForm=new Form1();
myForm.ComboAdd("MyItem");


Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 21:21 22-10-2008 | Исправлено: Lihonosov, 11:48 23-10-2008
SUShadow

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пробую так

Код:
 
using Form1 myForm=new Form1();  
myForm.ComboAdd("MyItem");
 

Получаю ошбку - Syntax error, '(' expected.
Делаю так.

Код:
 
 using Form1;
 Form1 myForm = new Form1();
 

Таже ошибка.
Пишу так.

Код:
 
 Form1 myForm = new Form1();
 

Получаю доступ к форме, но значенеи ComboBox не меняеться...
Плиз укажите мне на мою ошибку.

Всего записей: 4 | Зарегистр. 22-10-2008 | Отправлено: 14:21 23-10-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SUShadow
using я не в то окно набрал . Его использовать можно, но с правильным его синтаксисом (см. MSDN).
Аналог using это конструкция try{} finally {}
Вам нужно объявить объект класса Form1

Код:
 Form1 myForm = new Form1();  

И потом через этот объект вызывать public методы класса Form1

Код:
myForm.ComboAdd("MyItem");  

Т.е.
 

Код:
namespace BS_Upload  
{  
    public partial class Form1 : Form  
    {  
    public void ComboAdd(string Item)
    {
      ComboBox3.Items.Add(Item);
    }
    }  
    public class SQL_Conn  
    {  
         public void AddComb()  
         {  
         //Можно пожалуйста показать как мне отсюда получить доступ к ComboAdd?
          Form1 myForm=new Form1();
            myForm.ComboAdd("MyItem");

         }  
    }  
 
}  

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 18:42 23-10-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SUShadow
Lihonosov

Код:
 
public class SQL_Conn    
{    
         public void AddComb()    
         {    
         //Можно пожалуйста показать как мне отсюда получить доступ к ComboAdd?  
          Form1 myForm=new Form1();  
            myForm.ComboAdd("MyItem");  
         }    
}  
 


Цитата:
Получаю доступ к форме, но значенеи ComboBox не меняеться...
Оно не меняется потому, что, что строкой Form1 myForm=new Form1(); ты создал другой экземпляр твоей формы и с ним работаешь. А первый, который создан в файле Program.cs при помощи строки Application.Run(new Form1()); спокойно при этом торчит на экране.
Что с этим делать? Экземпляр класса SQL_Conn должен где-то создаваться у тебя. Скорее всего это один из методов класса формы. Так вот, в момент создания нужно передать (а в классе SQL_Conn - сохранить) ссылку на форму:

Код:
 
public partial class Form1 : Form    
{
     // Давным-давно
     // В далекой галактике
     private SQL_Conn m_SQL_Conn;
     ...
     private void SomeMethod()
     {
         m_SQL_Conn = new SQL_Conn(this);
     }
     ...
     private void SomeOtherMethod()
     {
         m_SQL_Conn.AddComb();
     }
}
 
public class SQL_Conn    
{    
         public SQL_Conn(Form1 form)
        {
            m_Form = form;
        }
 
         private Form1 m_Form;
 
         public void AddComb()    
         {    
            m_Form.ComboAdd("MyItem");  
         }    
}
 

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

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 11:07 24-10-2008
SUShadow

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем! Особенно BaluBig. Теперь все работает.
 А нащет отдельного класса, где я работаю с combobox. То я решил вынести всю работу с MySQL базой в отдельный класс (не знаю правильно это  или нет я только изучаю C# и классы). Так вот в комбобокс мне надо было скинуть все категории а так как с MySQL базы они читаються непрерывно (тоесть я незнаю можно ли выйти из метода, а потом продолжить чтение с последнего места), мне показалось удобней сразу получить доступ к комбобокс.

Всего записей: 4 | Зарегистр. 22-10-2008 | Отправлено: 12:45 24-10-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SUShadow

Цитата:
То я решил вынести всю работу с MySQL базой в отдельный класс
Это правильное решение. Теперь нужно понять, где на самом деле заканчивается работа с базой.  

Цитата:
Так вот в комбобокс мне надо было скинуть все категории а так как с MySQL базы они читаються непрерывно (тоесть я незнаю можно ли выйти из метода, а потом продолжить чтение с последнего места), мне показалось удобней сразу получить доступ к комбобокс.
Мне не совсем понятно что там за категории и вызывает подозрение "читаются непрерывно". Что это значит?
Если предположить, что должно происходить периодическое обновление содержимого комбобокса, то я бы делал примерно так:
1. По таймеру на форме происходит событие.
2. Обработчик события ображается к классу для работы с базой "дай мне список категорий".
3. Класс работы с базой дает список в виде некой структуры: DataTable, string[], List<string>, ...
4. Класс формы сам размещает полученные данные в своем комбобоксе.
Почему именно так? Потому что так получается одна зависимость между классами, форма зависит от класса работы с базой. То, как пытаешься делать ты (насколько я понимаю твою ситуацию), приводит к образованию так же обратной зависимости класса работы с базой от формы. А чем меньше зависимостей - тем проще поддерживать (отлаживать, изменять) приложение.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 14:50 26-10-2008
Mike13x13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:

Цитата:
Цитата:Так вот в комбобокс мне надо было скинуть все категории а так как с MySQL базы они читаються непрерывно (тоесть я незнаю можно ли выйти из метода, а потом продолжить чтение с последнего места), мне показалось удобней сразу получить доступ к комбобокс.  

 
Мне не совсем понятно что там за категории и вызывает подозрение "читаются непрерывно". Что это значит?

Включая экстрасенсорные способности , предполагаю, что под "непрерывным считыванием" понимается просто получение полного результата select, т.е., всех строк и подвязка их к комбобоксу: каждая строка соответствует одному значения из комбобокса.
Если даже догадался неправильно, на 100% поддерживаю BaluBig - не стоит скрещивать бульдога и носорога (к примеру, работать в классе для MySql с объектами/данными формы и наоборот). А вообще, для начала было бы лучше попробовать использовать встроенные классы .Net Framework для работы с базами, вникнуь в саму идеологию, а потом уже сооружать что-то подобное (или отличное) для MySql. В общем, основная идея отображена в п.3 и 4 советов BaluBig.
 

Всего записей: 93 | Зарегистр. 13-09-2007 | Отправлено: 00:39 28-10-2008 | Исправлено: Mike13x13, 15:01 28-10-2008
Dendick



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Помогите, пожалуйста!
 
Нужно создать на форме собственную анимированную кнопку.
Нарисовал три ее состояния:
1. В обычном состоянии;
2. При наведении на нее курсора;
3. При нажатии.
Как реализовать это в Microsoft Visual Studio 2008 (C#)?
Заранее спасибо!
 
P.S. Если аналогичная задача уже обсуждалась, укажите, пожалуйста, где искать или дайте ссылку.

Всего записей: 19 | Зарегистр. 30-01-2007 | Отправлено: 18:42 30-10-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dendick
Идея несложная, но реализация может оказаться громоздкой.  
1. Наследуемся от класса кнопки. При этом в конструкторе производного класса вызываем SetStyle(ControlStyles.UserPaint, true).
2. Переопределяем методы OnMouseEnter, OnMouseLeave, OnMouseDown, OnMouseUp. В каждом из этих методов определяем, в каком виде должны рисоваться кнопка и вызываем Invalidate() что бы заставить кнопку перерисоваться.
3. Переопределяем метод OnPaint и в зависимости от текущего состояния рисуем кнопку тем или иным образом.
Рисовать может помочь класс VisualStyleRenderer, но он работает только если включены темы XP.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 11:20 31-10-2008
Dendick



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
Большое спасибо!
Буду пробывать Может что нибудь и получится.

Всего записей: 19 | Зарегистр. 30-01-2007 | Отправлено: 13:05 31-10-2008
DimVic

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста.
Есть сайт на VB   и ASP
 
на сайте отображается таблица  
в столбике где должны быть ссылки на подробное описание вместо ссылок отображается
<A title=Просмотр заявки href=default.aspx?id=23949>CL&nbsp;#23949</A>
 
Текст кода в котором генерится таблица и именно эта ссылка
 
<asp:BoundField DataField="incident_id" DataFormatString="&lt;A title=Просмотр заявки href=default.aspx?id={0:D}&gt;CL&amp;nbsp;#{0:D5}&lt;/A&gt;"
                        HeaderText="№" ReadOnly="True" SortExpression="incident_id">
                        <HeaderStyle Width="70px"></HeaderStyle>
                        <ItemStyle Width="70px"></ItemStyle>
                    </asp:BoundField>
 
 
Добавлено:
глюк появился после переноса каталога сайта(то есть всего сайта) с одного сервера на другой

Всего записей: 14 | Зарегистр. 29-04-2008 | Отправлено: 13:55 06-11-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
DataFormatString="&lt;A title=Просмотр заявки href=default.aspx?id={0:D}&gt;CL&amp;nbsp;#{0:D5}&lt;/A&gt;"

нужно

Код:
DataFormatString="<a title='Просмотр заявки' href='default.aspx?id={0:D}>CL&amp;nbsp;#{0:D5}</a>"

а то пытаешься спецсимволы спецсимволами вывести.

Цитата:
глюк появился после переноса каталога сайта(то есть всего сайта) с одного сервера на другой

вряд ли, если код не менялся
 
p.s. пользуйся тегами code, облегчает восприятие

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 18:03 06-11-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru