Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: dneprcomp
Дата сообщения: 13.01.2011 16:41
delover
Попробуй объявить ивент как
private void notifyIcon1_BallonClick(object sender, MouseEventArgs e)
Далее по PingWiN0x20
Автор: delover
Дата сообщения: 14.01.2011 10:32
dneprcomp
Как я ему тогда сделаю += Делегат не того типа? Говорит

Код: Error    1    Cannot implicitly convert type 'System.Windows.Forms.MouseEventHandler' to 'System.EventHandler'
Автор: Mirray
Дата сообщения: 17.01.2011 16:24
delover
Попробуйте использовать свойство не click, а MouseClick




...
notifyIcon1.MouseClick += new EventHandler(notifyIcon1_BallonClick);
}

private void notifyIcon1_BallonClick(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
MessageBox.Show(e.ToString());
}
}
Автор: delover
Дата сообщения: 20.01.2011 06:16
Mirray

Цитата:
MouseClick

Это свойтво говорит о том что я кликаю на самой иконке и там всё есть и левая кнопка и правая. Мне нужно свойство Баллона!
notifyIcon1.BalloonTipClicked += new EventHandler(notifyIcon1_BalloonTipClicked);
Я же пишу чтобы как в аське было по баллону тыкнул правой и проткнул баллон. Левой - появилось окно чата.
Автор: dneprcomp
Дата сообщения: 20.01.2011 16:21
delover
Похоже, что у BalloonTipClicked нельзя различить стороны. А если использовать hook на мышь и проверять на уровне OS?
Автор: delover
Дата сообщения: 21.01.2011 06:05
dneprcomp
Я не знаю как на Сишарп писать hook. Я пока полный профан и хотел бы узнать для чего вообще в Сишарп свойство Handle.
Автор: giv5dot26
Дата сообщения: 21.01.2011 09:29
Привет всем. Меня интересует вопрос есть ли возможность работать со структурами windows типа HDROP и т.д. Или какие библиотеки классов мне стоит посмотреть?
Автор: Omicron_Persey_8
Дата сообщения: 21.01.2011 11:54
giv5dot26
Есть, копай в сторону Platform Invoke.

Код: [StructLayout(LayoutKind.Sequential)]
struct PROCESS_INFORMATION
{
//HANDLE hProcess;
public UInt32 hProcess;
//HANDLE hThread;
public UInt32 hThread;
//DWORD dwProcessId;
public UInt32 dwProcessId;
//DWORD dwThreadId;
public UInt32 dwThreadId;
}
Автор: dneprcomp
Дата сообщения: 21.01.2011 16:21
delover

Цитата:
Я не знаю как на Сишарп писать hook

Скорее всего все-таки знаешь Это я несколько увлекся, назвав хуком. В сущности, таже самая работа с API, что ты и предлогал.
Автор: May_Johnson
Дата сообщения: 22.01.2011 20:59
delover
dneprcomp
Mirray
Omicron_Persey_8

Всем доброго времени суток.

Ребята, может я не понимаю сути проблемы, потому что как мне кажется для определения того какая кнопка мыши была нажата можно проверять статическое св-во MouseButtons у класса System.Windows.Forms.Control.
Автор: FEGORA
Дата сообщения: 22.01.2011 23:12
всем привет, я уже писал в этой ветке

http://forum.ru-board.com/topic.cgi?forum=33&topic=3706&start=2340#1

ответ так и не найден, dll повисла в воздухе, предлагаю помочь мне на платной основе, кому интересно пишите d.j.vas@mail.ru
Автор: CyberMaster0
Дата сообщения: 23.01.2011 05:04
Здравствуйте, есть вопрос по этому коду:

Код:
class Programm
{
public static void Main()
{
Ping pingSender = new Ping ();
PingReply reply = pingSender.Send("www.contoso.com");

if (reply.Status == IPStatus.Success)
{
Console.WriteLine("Address: {0}", reply.Address.ToString());
Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
}
else
{
Console.WriteLine(reply.Status);
}
}
}
Автор: Omicron_Persey_8
Дата сообщения: 23.01.2011 11:13
CyberMaster0
А этот способ чем не разумен? Обработка исключений в .NET всегда была стандартной операцией. Но некоторые исправления все же внести стоит. Не стоит перехватывать все исключения в одном обработчике, так можно терять информацию типе исключения. В результате имеем что-то типа:

Код: public static void Main()
{
Ping pingSender = new Ping ();

try
{
PingReply reply = pingSender.Send("www.contoso.com");

if (reply.Status == IPStatus.Success)
{
Console.WriteLine("Address: {0}", reply.Address.ToString());
Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
}
else
{
Console.WriteLine(reply.Status);
}
}
catch (PingException)
{
Console.WriteLine("Не пингуется, зараза");
}
}
Автор: giv5dot26
Дата сообщения: 24.01.2011 05:21
Omicron_Persey_8 Отлично, спасибо за подсказку, а вообще средствами .NET подобные задачи не решить? Мне вот нужно поработать с IShellLink например и тому подобными вещами...
Автор: Omicron_Persey_8
Дата сообщения: 24.01.2011 09:34
giv5dot26
Тогда прямая дорога на буржуйский CodeProject.com. Мне в свое время нужно было для C#-ной проги вытаскивать иконки файлов из Shell'а. Очень помог этот проект. Если окажется мало, то ставишь фильтр по C#, в поисковой строке пишешь ShellAPI и понеслась.
Автор: giv5dot26
Дата сообщения: 24.01.2011 10:25
Спасибо.
Автор: delover
Дата сообщения: 26.01.2011 10:31
May_Johnson
Спасибо теперь работает как надо.
Автор: CyberMaster0
Дата сообщения: 26.01.2011 14:41
Подскажите, как в Visual Studio 2010 сделать вот такой контрол?
Автор: Mextrom
Дата сообщения: 26.01.2011 22:38
CyberMaster0

Цитата:
Подскажите, как в Visual Studio 2010 сделать вот такой контрол?

Если WinForms приложение, то есть контрол DataGridView. В WPF - DataGrid. В ASP.Net приложении - DataGrid.
Автор: Omicron_Persey_8
Дата сообщения: 27.01.2011 12:57
CyberMaster0
Mextrom
Для WinForms: ListView забыл.
Автор: CyberMaster0
Дата сообщения: 28.01.2011 07:54
Спасибо.
И снова я с вопросом Вот чет не могу понять: (Вопрос в комментарии в коде)

Код:
class Program
{
public static void Main()
{
Ping pingSender = new Ping();
int[] mass = new int[10];

int timeout = 120;


foreach (int i in mass)
{
PingReply reply = pingSender.Send("google.com", timeout);
if (reply.Status == IPStatus.Success)
{
mass[i] = (int)reply.RoundtripTime;
Console.WriteLine(mass[i]);
}
}
Console.WriteLine();

for (int i = 0; i < 9; i++)
{
Console.WriteLine(mass[i]); // Здесь в первой ячейке массива число (пинг), а во всех остальных ячейках - 0. Почему так получется??
}
Console.ReadKey();
}
}
Автор: Mextrom
Дата сообщения: 28.01.2011 10:04
CyberMaster0

Цитата:
foreach (int i in mass)
{
PingReply reply = pingSender.Send("google.com", timeout);
if (reply.Status == IPStatus.Success)
{
mass[i] = (int)reply.RoundtripTime;
Console.WriteLine(mass[i]);
}
}

Заполняете странно. В данном цикле i - это элемент массива, а не его номер. После того, как вы массив инициализировали, все значения в нем нули. В итоге присваивание
Код: mass[i] = (int)reply.RoundtripTime;
Автор: delover
Дата сообщения: 01.02.2011 09:09
Ребята
Подскажите может кто встречал - мне нужен компонент TabControl обычный вполне, но хочется разместить одну единственную кнопку - закрыть вкладку, точно как в аське есть такая кнопа. В принципе наверно можно и на стандартной вкладке рисовать, но я не знаю её координаты и не смогу отработать клик. Лучше бы готовый копанент.
Автор: Omicron_Persey_8
Дата сообщения: 01.02.2011 21:22
delover
Осваивай:
http://www.codeproject.com/KB/tabs/NewCustomTabControl.aspx
http://www.codeproject.com/KB/tabs/MDITabControl.aspx
http://www.codeproject.com/KB/tabs/firefoxtabcontrol.aspx
Автор: giv5dot26
Дата сообщения: 02.02.2011 05:52
Привет всем. Нужно: установить сочетания клавишь глобальное. Делаю так:

Код: [DllImport("user32.dll")]
public static extern bool RegisterHotKey(IntPtr hWND, int id, uint fsModifiers, uint vk);
[DllImport("user32.dll")]
public static extern bool UnregisterHotKey(IntPtr hWND, int iD);

private const int MOD_ALT = 0x1;
private const int MOD_CONTROL = 0x2;
private const int MOD_SHIFT = 0x4;
private const int MOD_WIN = 0x8;
private const int WM_HOTKEY = 0x312;

public Form()
{
RegisterHotKey(this.Handle, 42, MOD_WIN, (int)Keys.Escape);
}

protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == WM_HOTKEY)
{
switch (m.WParam.ToInt32())
{
case 42:
if (this.Visible == false)
{
this.Show();
this.Tray.Visible = false;
this.ShowInTaskbar = true;
}
break;
}
}
}
Автор: BlackVetal
Дата сообщения: 02.02.2011 06:22
delover
в девках есть extratabcontrol - в настройках выставляется кнопка закрытия на каждой закладке.
Автор: delover
Дата сообщения: 02.02.2011 09:10
Omicron_Persey_8
BlackVetal
Спасибо всё нарисовал. Мне помог примерчик с
http://www.codeproject.com/KB/tabs/firefoxtabcontrol.aspx
Пришлось правда немного доделать, чтобы первую картинку рисовал и чтобы неактивные табы были немного придавленными. А в общем работает!
Автор: llerik
Дата сообщения: 02.02.2011 23:09
Дали задание перевести БД с FoxPro на SQL-server, ввиду корявости исходной решил пересоздать с нуля. Саму БД сделал, но проблема с оболочкой, т.к. не знаком с Basic.

Значит есть в БД таблица login, в ней 3 поля: user (ключевое), password и admin (true/false). На форме авторизации в фоксе писал так:

Код: Locate For Upper(login.user) = Upper(Alltrim(Thisform.mycombobox1.Value))
If Found() And Alltrim(login.password) == Alltrim(Thisform.Mytextbox2.Value)
If login.admin=.T.
Do 'data\menu\menu_admin.mpr'
Thisform.Release()
Else
Do 'data\menu\menu_user.mpr'
Thisform.Release()
Endif
Else
Messagebox("Имя пользователя или пароль неправильные!"+Chr(13)+Chr(13)+'Введите имя пользователя и пароль еще раз!',16,'Вход в систему')
Thisform.Mytextbox2.Value = ""
Thisform.Mytextbox2.SetFocus()
Endif
Автор: dneprcomp
Дата сообщения: 03.02.2011 03:27
llerik

Цитата:
дальше сверялся по нажатию на кнопку.

Не понял, что значит "сверить" и для чего логины.
Если для захода на SQL Server, то там passwords не лежат в открытом доступе. Да и сверять для логина ничего не надо.
Создается connection. Если не вернула error, значит логин правильный.
Или же логины для чего-либо еще?

Код: Try
Dim cnn As New SqlConnection
Dim ConnectionString as string
ConnectionString = "Data Source=" & [имя сервера] & ";async=true;Initial Catalog=" & [имя базы] & ";Persist Security Info=True;User " & "ID=" & [логин ID] & ";Password=" & [пас] & ";Connect Timeout=300"
If ConnectionString <> "" Then
cnn = New SqlConnection(ConnectionString)
cnnLaw.Open()
End if
Catch ex As Exception

msgbox ex.ToString & " " & ex.Message

End Try
Автор: Mextrom
Дата сообщения: 03.02.2011 10:02
dneprcomp
llerik
Я так понял, задача просто сводится к получению двух полей из таблицы. Т.е. нужно написать запрос в базу типа
Код: select password, admin
from login
where user = [имя_юзверя]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.