Dem_anywhere Спасибо!!!
» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET
fvgrod
Цитата:
Цитата:
Цитата:
1) Можно ли выключить BackgroundWorker в любой момент?Принудительно из вызывающего потока - нельзя. CancelAsync() взводит флаг BacgkgroundWorker.CancellationPending, а твой код (который есть обработчик события DoWork) должен периодически проверять этот флаг и завершать работу. Для того, что бы можно было прервать выполнение принудительно, нужно вручную работать с классом Thread и вызывать Thread.Abort().
(Есть функция CancelAsync() - только я так и не понял, что она в итоге делает)
Цитата:
2) Как отправлять MessageBox из BackgroundWorker?Как обычно. Правило состоит в том, что нельзя к элементам GUI обращаться из потока, отличного от того, в котором элемент создан. Таким образом создание и работа с окном полностью в другом потоке возможна.
BaluBig Спасибо, разобрался.
И еще пожалуйста вопросик:
Создал элемент lstViewUsers, подгрузил список в colUserName.
Как автамотически сделать активной первую либо заданную строчку?
Все настройки перековырял, но так и не напал на нужную.
И еще пожалуйста вопросик:
Создал элемент lstViewUsers, подгрузил список в colUserName.
Как автамотически сделать активной первую либо заданную строчку?
Все настройки перековырял, но так и не напал на нужную.
fvgrod
Ты не названия контролов указывай, а тип, а то догадываться приходится.
lstViewUsers - это ListView? Тогда для выделения элемента надо не у ListView свойство искать, а у самого элемента списка выставить Selected = true.
Код:
ListViewItem li = new ListViewItem("User");
lstViewUsers.Items.Add(li);
li.Selected = true;
Ты не названия контролов указывай, а тип, а то догадываться приходится.
lstViewUsers - это ListView? Тогда для выделения элемента надо не у ListView свойство искать, а у самого элемента списка выставить Selected = true.
Код:
ListViewItem li = new ListViewItem("User");
lstViewUsers.Items.Add(li);
li.Selected = true;
хмм.. у кого нибудь есть примеры по отправке смс?
***отправка смс нужна не по средствам сайта, а средствами самого устройства..
***отправка смс нужна не по средствам сайта, а средствами самого устройства..
s5656
Такой пример пойдет? Есть еще другой пример, но он на С++, за то без прослоек вроде Pocket Outlook.
Google rulez
Такой пример пойдет? Есть еще другой пример, но он на С++, за то без прослоек вроде Pocket Outlook.
Google rulez
Народ, подскажите, плиз:
метод получает стринг - имя файла, задача - запустить ассоциированное по расширению
с этим файлом приложение. Т.е., фактически сымитировать даблклик по имени файла в эксплорере. Наличие ассоциированного приложения не заботит - хай винда сама разбирается. Хоть в каком неймспейсе рыть-то?
Ссори, уже нарыл, кому интересно - неймспейс System.Diagnostics, класс - Process
Но есть еще вопрос, уже по веб тематике. Из окна 1 броузера я открываю окно 2, в котором произвожу некоторые
действия -выбираю значения, которые должны отображаться в текстбоксах в окне 1, сохраняю в базу закрываю
окно 2. При этом хочу, чтоб в окне 1 (родительском) в соответствующих текстбоксах появились выбранные мной в окне 2 (дочернем) значения (без каких-либо действий юзера типа рефреша окна). Если кто может - плиз код (можно ява-скрипт на стороне клиента, можно шарповский).
метод получает стринг - имя файла, задача - запустить ассоциированное по расширению
с этим файлом приложение. Т.е., фактически сымитировать даблклик по имени файла в эксплорере. Наличие ассоциированного приложения не заботит - хай винда сама разбирается. Хоть в каком неймспейсе рыть-то?
Ссори, уже нарыл, кому интересно - неймспейс System.Diagnostics, класс - Process
Но есть еще вопрос, уже по веб тематике. Из окна 1 броузера я открываю окно 2, в котором произвожу некоторые
действия -выбираю значения, которые должны отображаться в текстбоксах в окне 1, сохраняю в базу закрываю
окно 2. При этом хочу, чтоб в окне 1 (родительском) в соответствующих текстбоксах появились выбранные мной в окне 2 (дочернем) значения (без каких-либо действий юзера типа рефреша окна). Если кто может - плиз код (можно ява-скрипт на стороне клиента, можно шарповский).
Mike13x13
шарповским не получится, работа вся на стороне клиента, про JavaScript/Ajax быстрей в Web-программировании помогут, это к .NET не привязано
шарповским не получится, работа вся на стороне клиента, про JavaScript/Ajax быстрей в Web-программировании помогут, это к .NET не привязано
Mike13x13
window.opener.frmMain.txtName.value="test";
читни
http://www.webreference.com/js/tutorial1/opener.html
window.opener.frmMain.txtName.value="test";
читни
http://www.webreference.com/js/tutorial1/opener.html
Есть такая ситуация: есть на панельке несколько GroupBox, на некоторых их них -- компонента типа RichTextBox, у которого число строк заранее низвестно. Хочу сделать так, чтобы в зависимости от количества его строк сам RichTextBox привести под содержимое (изменить высоту), соответственно, находящиеся ниже GroupBox'ы -- сдвигать. Вопрос: если просто сдвину GroupBox программно, находящиеся на нём компоненты тоже ведь сдвинутся, поскольку они на контейнере?
EZH
Код:
ListViewItem li = new ListViewItem("User");
lstViewUsers.Items.Add(li);
li.Selected = true;
Подскажите плиз, как сделать "выделенным" заданный Item li?
При нажатии мышкой данный итем выделяеться синим цветом, а так не водимости выбранного итема.
Добавлено:
И в догонку... вроде выделил:
lstViewUsers.Select();
Но параметр клавишей "Вниз", "Вверх" сбрасываеться и получаеться:
к примеру выделяем восьмую строчку, нажимаем клавишу "вниз" и у нас перескакивает на вторую, а вверх вооюще не нажимаеться так как для клавиатуры выбрана первая строчка.
Код:
ListViewItem li = new ListViewItem("User");
lstViewUsers.Items.Add(li);
li.Selected = true;
Подскажите плиз, как сделать "выделенным" заданный Item li?
При нажатии мышкой данный итем выделяеться синим цветом, а так не водимости выбранного итема.
Добавлено:
И в догонку... вроде выделил:
lstViewUsers.Select();
Но параметр клавишей "Вниз", "Вверх" сбрасываеться и получаеться:
к примеру выделяем восьмую строчку, нажимаем клавишу "вниз" и у нас перескакивает на вторую, а вверх вооюще не нажимаеться так как для клавиатуры выбрана первая строчка.
fvgrod
текущий элемент переназначается так
Код: lstViewUsers.Items[i].Focused = true;
текущий элемент переназначается так
Код: lstViewUsers.Items[i].Focused = true;
Viverra
0ndrash
Большое спасибо. Я лет 5 назад что-такое делал, но с тех пор уже подзабыл. А сейчас снова столкнулся с этой тематикой.
0ndrash
Большое спасибо. Я лет 5 назад что-такое делал, но с тех пор уже подзабыл. А сейчас снова столкнулся с этой тематикой.
TeXpert
Как один из вариантов, расположи групбоксы через сплиттеры. Это даст возможность мышкой изменять размеры групбокса, соседние с ним будут менять размер при этом сами. Останется только в зависимости от количества строк в ричедите менять размер групбокса.
Как один из вариантов, расположи групбоксы через сплиттеры. Это даст возможность мышкой изменять размеры групбокса, соседние с ним будут менять размер при этом сами. Останется только в зависимости от количества строк в ричедите менять размер групбокса.
Может кто сталкивался: имеется select * from table where text like '%SLOVO%' (MS SQL2000). Проблема: при запросе из квери аналайзер и т.п. запрос отрабатывается как и положено по документации. Если делаю запрос из кода (C#) получаю только результаты, где SLOVO не находится в text в самом начале. Тип text - varchar . Есть какие-нить соображения, почему енто происходит и как с этим бороться?
Mike13x13
Среди инструментов MSSQL существует Profiler. Запусти его и посмотри какой запрос реально уходит серверу. Выполни его в Query Analyzer. А дальше в зависимости от результата.
Среди инструментов MSSQL существует Profiler. Запусти его и посмотри какой запрос реально уходит серверу. Выполни его в Query Analyzer. А дальше в зависимости от результата.
BaluBig
Спасибо за совет, о Profilerе я и забыл. Но, тем не менее, результат не изменился - запрос в профайлере я вижу, в аналайзере он дает правильный результат (находит все), при запросе же из кода результаты, где искомое слово находится в поле только на первом месте, не находятся - черт знает что.
Еще интересней - накидал консольный тест только для прогона этого запроса - работает правильно. Счас еще сделаю в винформ ....
Спасибо за совет, о Profilerе я и забыл. Но, тем не менее, результат не изменился - запрос в профайлере я вижу, в аналайзере он дает правильный результат (находит все), при запросе же из кода результаты, где искомое слово находится в поле только на первом месте, не находятся - черт знает что.
Еще интересней - накидал консольный тест только для прогона этого запроса - работает правильно. Счас еще сделаю в винформ ....
Создаю WindowsApplication, кидаю на форму NumericUpDown, cтавлю свойство ReadOnly.
Запускаю и наблюдаю следующее: NumericUpDown с виду действительно только для чтения, текст вбить нельзя, можно лишь скопировать, но если нажать на миникнопки верх/низ, значение меняется
Как заблокировать эти кнопочки?
Запускаю и наблюдаю следующее: NumericUpDown с виду действительно только для чтения, текст вбить нельзя, можно лишь скопировать, но если нажать на миникнопки верх/низ, значение меняется
Как заблокировать эти кнопочки?
V0lt
Поставь NumericUpDown1.Enabled=false;
BaluBig
Сделал тест в винформ - тоже работает правильно, пришлось порыть код, нашел баг. Извиняюсь за напрасное беспокойство
Поставь NumericUpDown1.Enabled=false;
BaluBig
Сделал тест в винформ - тоже работает правильно, пришлось порыть код, нашел баг. Извиняюсь за напрасное беспокойство
Mike13x13
Цитата:
тогда контрол неактивный станет, а мне нужна возможность выделять цыферки и копировать их в буфер
Добавлено:
ничего умнее, чем обнулить приращение не придумал
получилось так
Код: numericUpDown1.ReadOnly = true;
numericUpDown1.Increment = 0;
Цитата:
Поставь NumericUpDown1.Enabled=false;
тогда контрол неактивный станет, а мне нужна возможность выделять цыферки и копировать их в буфер
Добавлено:
ничего умнее, чем обнулить приращение не придумал
получилось так
Код: numericUpDown1.ReadOnly = true;
numericUpDown1.Increment = 0;
По ряду причин меня перестали устраивать стандартные компоненты ToolStrip, ToolStripItem и производные от них. Никто не знает бесплатной и с исходниками библиотеки для работы с меню и тулбарами?
V0lt
Цитата:
Чё, для такой надобности нормально получилось
Цитата:
Mike13x13
Цитата:Поставь NumericUpDown1.Enabled=false;
тогда контрол неактивный станет, а мне нужна возможность выделять цыферки и копировать их в буфер
Добавлено:
ничего умнее, чем обнулить приращение не придумал
получилось так
Чё, для такой надобности нормально получилось
V0lt
Если будешь много readonly NumericUpDown контролов использовать, то есть смысл заюзать такое решение:
http://www.codeproject.com/KB/miscctrl/Fixed_NumericUpDown.aspx
Если будешь много readonly NumericUpDown контролов использовать, то есть смысл заюзать такое решение:
http://www.codeproject.com/KB/miscctrl/Fixed_NumericUpDown.aspx
0ndrash
спасибо
Как я понимаю там создают копию контрола с измененными методами DownButton/UpButton. И чую что этим пофиксенным контролом будет не так удобно работать, в том смысле чтобы добавить его на форму придется не мышкой кидать, а вручную прописывать в коде. Или я не прав?
Там дальше идет коментарий "Fix without replacing the control". Вроде чел пытается решить проблему без нового контрола, только что он мудрит я не понял
спасибо
Как я понимаю там создают копию контрола с измененными методами DownButton/UpButton. И чую что этим пофиксенным контролом будет не так удобно работать, в том смысле чтобы добавить его на форму придется не мышкой кидать, а вручную прописывать в коде. Или я не прав?
Там дальше идет коментарий "Fix without replacing the control". Вроде чел пытается решить проблему без нового контрола, только что он мудрит я не понял
Если строчек в базе более 100 тысяч, то периодически выпадает ошибка:
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
…..
выполняю команду
Sql.Base.bool_AllDelete = false;
Sql.Base.AllDelete();
a:
if (Sql.Base.bool_AllDelete != true)
{
Thread.Sleep(1000);
goto a;
}
...
public static void AllDelete()
{
// Объекты подключения
SqlConnection myConnection = new SqlConnection();
SqlCommand myCommand = new SqlCommand();
// Задаем переменные
myConnection.ConnectionString = Sql.Connect.ConnectionString;
myCommand.Connection = myConnection;
myCommand.CommandType = CommandType.Text;
// Чтение параметров программу
myCommand.CommandText = "DELETE FROM [mail]";
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
}
catch (SqlException ex)
{
SQL_Error = true;
SQL_Error_Text = ex.ToString();
}
bool_AllDelete = true;
}
Добавлено:
Подскажите пожалуйста в чем трабла и как ее наладить(
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
…..
выполняю команду
Sql.Base.bool_AllDelete = false;
Sql.Base.AllDelete();
a:
if (Sql.Base.bool_AllDelete != true)
{
Thread.Sleep(1000);
goto a;
}
...
public static void AllDelete()
{
// Объекты подключения
SqlConnection myConnection = new SqlConnection();
SqlCommand myCommand = new SqlCommand();
// Задаем переменные
myConnection.ConnectionString = Sql.Connect.ConnectionString;
myCommand.Connection = myConnection;
myCommand.CommandType = CommandType.Text;
// Чтение параметров программу
myCommand.CommandText = "DELETE FROM [mail]";
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
}
catch (SqlException ex)
{
SQL_Error = true;
SQL_Error_Text = ex.ToString();
}
bool_AllDelete = true;
}
Добавлено:
Подскажите пожалуйста в чем трабла и как ее наладить(
fvgrod
if и goto использовать не модно Есть же цикл while.
Для удаления всех записей из таблицы есть намного более эффективная SQL-команда TRUNCATE.
if и goto использовать не модно Есть же цикл while.
Для удаления всех записей из таблицы есть намного более эффективная SQL-команда TRUNCATE.
EZH
Спасибо попробую.
Спасибо попробую.
Цитата:
Для удаления всех записей из таблицы есть намного более эффективная SQL-команда TRUNCATE.Эта команда не работает, если на таблицу имеются ссылки через FK. Так что удалять данные порциями, после каждой порции - commit.
И все равно вылетает ошибка при долгом копировании таблиц с выборкой или импотрировании данных из текстового файла:
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
В чем может быть трабла?
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
В чем может быть трабла?
fvgrod
Трабла в том, что операция длится дольше, чем установленное время таймаута... Отсюда два выхода: дробить операцию на несколько (это лучший выход) и увеличить время таймаута.
Трабла в том, что операция длится дольше, чем установленное время таймаута... Отсюда два выхода: дробить операцию на несколько (это лучший выход) и увеличить время таймаута.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
Предыдущая тема: Как удалить/добавить/отключить/включить устройство?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.