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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2010, 19:28   #1
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию видимость переменных и методов в c#

Добрый вечер. Возник вопрос. у меня есть такой класс:

Код:
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.Data.SqlClient;
using System.Xml;

namespace my_lib
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }
        
//=============================================================================================================
//      описание данных    
//=============================================================================================================
        public XmlDocument xmlDoc;
        public SqlConnection myConnect;
        public SqlDataReader myReader;

//=============================================================================================================
//          описание методов          
//=============================================================================================================
        public bool connect()   //метод подключения к бд()
        {
//=============================================================================================================
//          описание данных метода
//=============================================================================================================
            String name_server; //имя сервера получаемое из xml
            String name_db; //имя бд получаемое из xml 
//=============================================================================================================
//          получение параметров из xml-файла
//=============================================================================================================
            try
            {
                xmlDoc = new XmlDocument();
                xmlDoc.Load("D:/My work/C#/my_lib/my_lib/bin/Debug/config.xml");
                name_server = xmlDoc.GetElementsByTagName("server")[0].InnerText;
                name_db = xmlDoc.GetElementsByTagName("database")[0].InnerText;

//=============================================================================================================
//          формирование строки подключения и подключения
//=============================================================================================================
                myConnect = new SqlConnection("Server=" + name_server + "; database=" + name_db + "; Integrated Security=True");
                myConnect.Open();
            }
            catch (Exception ex)
            {   
                MessageBox.Show("Ошибка: " + ex.Message);
                return false;
            }
            return true;
        }


        public void insert_combobox()   //заполнение комбика
        {
            comboBoxKat.Text="";
            comboBoxKat.Items.Clear();
            myReader = null;  //сюда считываются данные 
            SqlCommand my_SQL = new SqlCommand("select name_kat from t_kat order by name_kat", myConnect);
            myReader = my_SQL.ExecuteReader();
            

//=============================================================================================================
//         запись полученных данных в комбобокс 
//=============================================================================================================
            while (myReader.Read())
            {
                comboBoxKat.Items.Add(myReader["name_kat"].ToString());
                comboBoxKat.AutoCompleteCustomSource.Add(myReader["name_kat"].ToString());  //для автозаполнения
            }
            if (comboBoxKat.Items.Count!=0) comboBoxKat.SelectedIndex = 0;
        }

        private void FormMain_Load(object sender, EventArgs e)
        {
            if (connect()==false) Close();  //если произошла ошибка то закрываем приложение
            else   //иначе заполняем комбобокс
            {
                insert_combobox();
            } 
        }
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 26.07.2010, 19:28   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Код:
        private void buttonKatDel_Click(object sender, EventArgs e) //удаление определенной категории
        {
//=============================================================================================================
//           вывод сообщение с вопросом удалять ли запись
//=============================================================================================================
            string message = "Вы действительно хотите удалить запись?";
            string caption = "Домашняя библиотека";
            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult result;
            result = MessageBox.Show(message, caption, buttons);
            if (result == System.Windows.Forms.DialogResult.Yes)
            {

//=============================================================================================================
//          удаление записи          
//=============================================================================================================
                try
                {
                    SqlParameter myParam = new SqlParameter("@ParamKat", SqlDbType.VarChar, 100);
                    myParam.Value = comboBoxKat.Text;
                    myReader.Close();
                    SqlCommand my_SQL = new SqlCommand("delete from t_kat where name_kat=@ParamKat", myConnect);
                    my_SQL.Parameters.Add(myParam);
                    my_SQL.ExecuteNonQuery();
                    insert_combobox();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка: " + ex.Message);
                }

            }
        }

        private void buttonKatAdd_Click(object sender, EventArgs e)
        {
            myReader.Close();
            FormAddKat fkat = new FormAddKat();
            fkat.add = 0;
            fkat.Show();
        }

        private void buttonKatUpd_Click(object sender, EventArgs e)
        {
            FormAddKat fkat = new FormAddKat();
            fkat.add = 1;
            fkat.Show();
        }
    }
}
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 26.07.2010, 19:28   #3
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

и такой класс:
Код:
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.Data.SqlClient;

namespace my_lib
{
    public partial class FormAddKat : Form
    {
        public FormAddKat()
        {
            InitializeComponent();
        }
        public int add;

        private void buttonOK_Click(object sender, EventArgs e)
        {
//=============================================================================================================
//          если добавляем категорию
//=============================================================================================================
            if (add == 0)
            {

            }
        }

        private void FormAddKat_Load_1(object sender, EventArgs e)
        {

        }
    }
}
Мне нужно чтобы во втором классе можно было работать с элементами первого такими как myReader, insertCombobox, myConnect.
Тоесть в if второго класса можно было закрыть myReader описанный в первом классе, также выполнить insertCombobox и получить значение myConnect
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 26.07.2010, 19:56   #4
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

http://www.cyberforum.ru/windows-for...ead110436.html
и второй пункт, там всего 8 способов (ибо вопрос стар как винформс)
m0nax вне форума Ответить с цитированием
Старый 26.07.2010, 20:14   #5
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

спасибо с переменными разобралась а вот с методом
Код:
    static class Data
    {
        public static SqlConnection myConnect { get; set; }
        public static SqlDataReader myReader { get; set; }

        public void insert_combobox(ComboBox myCombo)   //заполнение комбика
        {
            myCombo.Text = "";
            myCombo.Items.Clear();
            Data.myReader = null;  //сюда считываются данные 
            SqlCommand my_SQL = new SqlCommand("select name_kat from t_kat order by name_kat", Data.myConnect);
            Data.myReader = my_SQL.ExecuteReader();


            //=============================================================================================================
            //         запись полученных данных в комбобокс 
            //=============================================================================================================
            while (Data.myReader.Read())
            {
                myCombo.Items.Add(Data.myReader["name_kat"].ToString());
                myCombo.AutoCompleteCustomSource.Add(Data.myReader["name_kat"].ToString());  //для автозаполнения
            }
            if (myCombo.Items.Count != 0) myCombo.SelectedIndex = 0;
        }
    }
В др классах не видит
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 26.07.2010, 20:20   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

сорри ступила, все разобралась
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
видимость данных. запутался navi2 Общие вопросы C/C++ 4 05.04.2010 21:34
Видимость MDI формы. Ital1cs Помощь студентам 0 29.03.2010 14:00
Видимость констант tae1980 Microsoft Office Excel 5 23.11.2009 12:06
Определить видимость грани многоугольника Sergey2 Помощь студентам 4 26.06.2009 20:46
Видимость переменных tae1980 Microsoft Office Excel 3 26.03.2009 18:34