Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Ламерские" вопросы, задаем здесь элементарные вопросы 
:(
    Опции темы
Track
Дата 27.6.2010, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 18.2.2010

Репутация: нет
Всего: нет



Вот оно!
Основную функцию нашел здесь
Оригинал немного изменил и добавил обработку скроллинга

Код

using System;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Windows.Forms;

public class ListViewFpF : System.Windows.Forms.ListView
{
    private const int WM_KEYDOWN = 0x0100;
    private const int WM_MOUSEWHEEL = 0x020A;

    private const int LVM_FIRST = 0x1000;
    private const int LVM_SETICONSPACING = LVM_FIRST + 53;

    [DllImport("User32.DLL")]
    public static extern Int32 GetScrollPos(IntPtr hWnd, IntPtr ScrollBar);
    [DllImport("User32.dll")]
    static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, int lParam);
    int MakeLong(int x, int y)
    {
        return (y << 16) | x;
    }
    public void SetIconSpacing(int x, int y)
    {
        Message msgSetSpacing = Message.Create(Handle, LVM_SETICONSPACING, IntPtr.Zero, (IntPtr)MakeLong(x, y));
        DefWndProc(ref msgSetSpacing);
    }

    public event System.EventHandler ScrollEvent;

    [StructLayout(LayoutKind.Sequential)]
    public struct SCROLLBARINFO
    {
        public int cbSize;
        public Rectangle rcScrollBar;
        public int dxyLineButton;
        public int xyThumbTop;
        public int xyThumbBottom;
        public int reserved;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
        public int[] rgstate;
    }

    [DllImport("user32.dll", SetLastError = true,
EntryPoint = "GetScrollBarInfo")]
    private static extern int GetScrollBarInfo(IntPtr hWnd, uint idObject, ref
SCROLLBARINFO psbi);

    const uint OBJID_VSCROLL = 0xFFFFFFFB;
    protected override void OnSelectedIndexChanged(EventArgs e)
    {
        base.OnSelectedIndexChanged(e);
        SCROLLBARINFO psbi = new SCROLLBARINFO();
        psbi.cbSize = Marshal.SizeOf(psbi);

        int nResult = GetScrollBarInfo(this.Handle, OBJID_VSCROLL, ref psbi); // 'this' is a scrollbar

        if (nResult == 0)
        {
            int nLatError = Marshal.GetLastWin32Error(); // in kernel32.dll
        }

        fCheck = true;
        oldval = psbi.xyThumbTop;
        // Console.WriteLine(psbi.xyThumbTop.ToString());
    }

    bool fCheck = false;
    int oldval = -1;
    IntPtr SB_ENDSCROLL = (IntPtr)8;
    const int WM_VSCROLL = 0x0115;
    const int WM_PAINT = 0xF;
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_VSCROLL)
        {
            if (m.WParam == SB_ENDSCROLL)
            {
                fCheck = false;
                // MessageBox.Show(\"WM_VSCROLL\");
                if (ScrollEvent != null)
                    ScrollEvent(this, null);
            }
        }
        if (m.Msg == WM_MOUSEWHEEL)
        {
            SCROLLBARINFO psbi = new SCROLLBARINFO();
            psbi.cbSize = Marshal.SizeOf(psbi);

            int nResult = GetScrollBarInfo(this.Handle, OBJID_VSCROLL, ref psbi); // 'this' is a scrollbar

            if (nResult == 0)
            {
                int nLatError = Marshal.GetLastWin32Error(); // in kernel32.dll
            }

            fCheck = true;
            oldval = psbi.xyThumbTop;

        }
        if (m.Msg == WM_PAINT)
        {
            SCROLLBARINFO psbi = new SCROLLBARINFO();
            psbi.cbSize = Marshal.SizeOf(psbi);

            int nResult = GetScrollBarInfo(this.Handle, OBJID_VSCROLL, ref psbi); // 'this' is a scrollbar

            if (nResult == 0)
            {
                int nLatError = Marshal.GetLastWin32Error(); // in kernel32.dll
            }

            //Console.WriteLine(psbi.xyThumbTop.ToString());

            if (fCheck && psbi.xyThumbTop != oldval)
            {
                fCheck = false;
                // MessageBox.Show(\"WM_VSCROLL for select item\");
                if (ScrollEvent != null)
                    ScrollEvent(this, null);
            }
            else if (psbi.xyThumbTop == oldval)
            {
                fCheck = false;
            }

        }
        base.WndProc(ref m);
    }
}


Ресайз обрабатываю стандартным event "ClientSizeChanged"
PM MAIL WWW   Вверх
Cadmus
Дата 28.6.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.6.2010

Репутация: нет
Всего: нет



Ребята долго меня мучал этот вопрос))
Делаю примеры программ из книжки.
Вопрос по обработчикам событий.
В программе должно обрабатываются  2 события текстбокс1 и текстбокс 2. Но когда запускаю программу обрабатывается только текстбокс1. Я правда не понимаю где там в коде должно обрабатываться текстбокс2 , но оригинальной програме все работает smile
Помогите разобраться ! плз!
Вот код
Код

        // нажатие клавиши в поле редактирования
        // функция обрабатывает событие KeyPress
        // компонентов textBox1 и textBox2
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            {
                if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
                    return;

                 if (Char.IsControl(e.KeyChar))
                {
                    if (e.KeyChar == (char)Keys.Enter)
                    {
                        if (sender.Equals(textBox1))
                            // клавиша <Enter> нажата в поле Ширина   
                            // переместить курсор в поле Высота
                            textBox2.Focus();
                        else
                            // клавиша <Enter> нажата в поле Высота    
                            // переместить курсор в поле компонента ComboBox
                            comboBox1.Focus();
                    }
                    return;
                }

                // остальные символы запрещены
                e.Handled = true;
            }
        }

PM MAIL WWW ICQ   Вверх
Track
Дата 4.7.2010, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 18.2.2010

Репутация: нет
Всего: нет



Создаю свой класс ListViewItem

Код

public class ListViewItemAsset : System.Windows.Forms.ListViewItem 
    {
    }

И половина свойств и методов просто теряется!
Возможно ли их сохранить ?
............................................
Извините недосмотрел - вопрос ерунда - теряются только методы создания, но это легко решается.

Это сообщение отредактировал(а) Track - 4.7.2010, 23:06
PM MAIL WWW   Вверх
Kolovorot
Дата 6.7.2010, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Не могу соединится с базой данных Pubs в SQL Server2008. Подскажите, пожалуйста, какие параметры в нужно указывать в ConnectionString? smile 
Код

 static void Main()
{
          SqlConnection conn = new SqlConnection();
          conn.ConnectionString = "Data Source=localhost; uid=sa; Initial Catalog=Pubs";
          conn.Open();
}

--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
Exai1e
Дата 6.7.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30





--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Kolovorot
Дата 7.7.2010, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Цитата(Exai1e @ 6.7.2010,  15:54)
Kolovorot
http://www.connectionstrings.com/sql-server-2008

А где у SQL Server посмотреть параметр MyServerAddress? smile 
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
A5uKa
Дата 7.7.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(Kolovorot @ 7.7.2010,  10:32)
Цитата(Exai1e @ 6.7.2010,  15:54)
Kolovorot
http://www.connectionstrings.com/sql-server-2008

А где у SQL Server посмотреть параметр MyServerAddress? smile

Имя PC\Имя сервера
PM   Вверх
Exai1e
Дата 7.7.2010, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



Kolovorot, для SQL Express это вроде как
Код

".\\SQLEXPRESS"

попробуй поискать в гугле. Я натыкался на то что, используют просто "." (точку)
можно попробывать localhost, у меня нет сейчас возможности проверить правильность


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Kolovorot
Дата 7.7.2010, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Когда я напрямую соединияюсь через MS SQL Server, servername = имя компьютера
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
Kolovorot
Дата 7.7.2010, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Цитата(Exai1e @ 7.7.2010,  10:50)
Kolovorot, для SQL Express это вроде как
Код

".\\SQLEXPRESS"

попробуй поискать в гугле. Я натыкался на то что, используют просто "." (точку)
можно попробывать localhost, у меня нет сейчас возможности проверить правильность

localhost подходит. Теперь другая проблема, ругается на логин. Если заходить напрямую, то используется для проверки безопасности Windows Authentication, для uid использую User Name.
Пытаюсь его же использовать для uid всеравно ругается smile 
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
KelTron
Дата 7.7.2010, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 11
Всего: 38



А пароль в строку не забыл добавить?



--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Exai1e
Дата 7.7.2010, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



Kolovorot, а разного рода
Код

Trusted_Connection=False;
Integrated Security=SSPI;


не решают проблему ?


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Kolovorot
Дата 7.7.2010, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Цитата(Exai1e @ 7.7.2010,  11:53)
Kolovorot, а разного рода
Код

Trusted_Connection=False;
Integrated Security=SSPI;


не решают проблему ?

Отлично как раз они и решают проблему. Даже uid и psw не нужно указывать. smile  smile 
Благодарю, Exai1e.
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
wester
Дата 7.7.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



пишу программу, но не совсем понятно как она работает 
Код

ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://" + sIpAdress);
            ftpRequest.Credentials = new NetworkCredential(sLogin, sPassword);
            ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            ftpResponse = (FtpWebResponse) ftpRequest.GetResponse(); //соединяемся с ftp

            using (var ftpResponseStream = ftpResponse.GetResponseStream())// формируем stream из ответа на запрос к ftp
            {
                using (var ftpStreamReader = new StreamReader(ftpResponseStream))
                {
                    try
                    {
                        sFileList = ftpStreamReader.ReadToEnd();
                        Console.WriteLine(ftpStreamReader.ReadToEnd()); // <-- exception
                        
                    }
                    catch (Exception exc)
                    {
                        
                        Console.WriteLine(exc.Message);
                    }
                    
                }
            }
            if(sFileList.Contains(sFolderName))
            {
                Console.WriteLine("Найдено");
            }

там где я пометил вылетает исключение , что мол "cannot access to disposed object" 
почему так происходит , и как это преодолеть ?

Это сообщение отредактировал(а) wester - 7.7.2010, 16:55
PM MAIL   Вверх
Fortnox
Дата 7.7.2010, 17:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: 2
Всего: 22



wester, при вызове метода ReadToEnd() происходит чтение от текущего положения до конца. Но так как это сетевой поток, после вызове этого метода он ликвидируется и обращение к нему уже невозможно.

Цитата из MSDN:
Цитата

Так как позицию средства чтения в потоке нельзя изменить, уже считанные символы устранить нельзя и доступ к ним можно получить только при повторной инициализации объекта StreamReader.


Выводите на консоль содержимое переменной sFileList например.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1133 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.