черный
Transparent
После компиляции вторая половина всё равно не прозрачная как это исправить?
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Выпуск # 749Очередной выпуск рассылки! За последнее время на сайте произошло столько всего, столько всего, что все просто не уместилось в этот выпуск! Но ничего, ведь вы всегда можете ознакомиться со всеми обновлениями непосредственно посетив сайт. Кстати, помимо изменения в содержании Kbyte.Ru, появлении новых интересных материалов, проект постоянно совершенствуется технически, и вы можете принять в этом непосредственное участие, присылая свои идеи и предложения. Содержание выпускаЧитайте в этом выпуске: Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.Форумы Kbyte.RuНа форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки. Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий. Задать свой вопрос прямо сейчас Прозрачность контрола @Crash666 06.11.2013 14:56 Такой вопрос: на всей форме растянут textbox кидаю на него в событии paint рисую вертикальный градиент черный Transparent После компиляции вторая половина всё равно не прозрачная как это исправить? Ответ #1 @Shark1 06.11.2013 16:37 Ответ #2 @Crash666 06.11.2013 16:56 Ответ #3 @Алексей Немиро 06.11.2013 17:37 Непонятно, что имеется ввиду. У обычного TextBox нет события Paint. Или ты делаешь свой? Если ты хочешь нанести градиент на форму, то прозрачный цвет будет прозрачным на форме, т.е. вместо него будет цвет фона формы. В общем, код в студию! Ответ #4 @Crash666 06.11.2013 17:45 Код паинта на picturebox Dim lgb2 As New Drawing2D.LinearGradientBrush(New Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height), Color.Transparent, Color.black, 90) g.FillRectangle(lgb2, 0, 0, PictureBox1.Width, PictureBox1.Height) Ответ #5 @Алексей Немиро 06.11.2013 18:10 И что именно не работает? Прозрачный цвет - прозрачный? Сам отвечу, да, прозрачный. Или ты ожидал, что он прожжет PictureBox, форму и все что между ними насквозь? Нет, это невозможно. По крайней мере таким образом. Можно сказать, что PictureBox для градиента - это слой. А форма - еще слой для PictureBox. Если слои будут прозрачными, то и Color.Transparent будет полностью прозрачным. Это как стекло - оно прозрачное, но это не значит, что все что в него попадает, становится прозрачным. Если ты хочешь сделать полупрозрачный PictureBox, за которым будут видны другие элементы - в этом нет смысла, т.к. элементы не будут доступны. Но как вариант, можно сделать полупрозрачную форму (свойство Opacity). Еще вариант - использовать PNG с прочными цветами. Но это будет то же, что и при рисовании градинаета кодом. Добавить свой ответ в эту тему ·
В теме есть еще 22 ответов. Смотреть все ответы. Среда Visual Basic STUDIO’2010 Professional Можно ли в документе XML, созданном с помощью XSD-языка, записать комментарий в нескольких строках? Например: <!—строка_1 комментария строка_2 комментария строка_3 комментария --> Ответ #1 @Алексей Немиро 05.11.2013 19:33 Через XmlTextWriter, у него есть метод WriteRaw, который позволяет записывать данные, как есть, без
изменений: Using w As New MemoryStream() Using x As New Xml.XmlTextWriter(w, System.Text.Encoding.UTF8) x.WriteStartDocument()'открываем документ x.WriteStartElement("kbyte")'создаем элемент x.WriteRaw("<!--строка_1 комментария" & vbCrLf & "строка_2 комментария" & vbCrLf & "строка_3 комментария-->")'пишем комментарий x.WriteEndElement()'закрываем элемент x.WriteEndDocument()'закрываем документ x.Flush()'важно, иначе в поток ничего не запишется MessageBox.Show(System.Text.Encoding.UTF8.GetString(w.ToArray())) End Using End Using Форматирование XML_document
@capetownn 05.11.2013 14:47 Как "красиво" , удобочитаемо, наглядно показать приведенный Листинг 3.1. Схема XSD записной книжки? Имею ввиду с отступами слева <?xml version="l.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="notebook" type="notebookType" /> <xsd:complexType name="notebookType"> <xsd:element name="person" type="personType" minOccurs="0" maxOccurs="unbounded" /> </xsd:complexType> <xsd:complexType name="personType"> <xsd:sequence> <xsd:element name="name"> <xsd:complexType> <xsd:attribute name="first" type="xsd:string" use="optional" /> <xsd:attribute name="second" type="xsd:string" use="optional" /> <xsd:attribute name="surname" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> <xsd:element name="birthday" type="ruDate" minOccurs="0" /> <xsd:element name="address" type="addressType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="phone-list" type="phone-listType" minOccurs="0" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="addressType" > <xsd:sequence> <xsd:element name="street" type="xsd:string" /> <xsd:element name="city" type="cityType" /> <xsd:element name="zip" type="xsd:positivelnteger" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name='cityType'> <xsd:simpleContent> <xsd:extension base='xsd:string' > <xsd:attribute name='type' type='placeType' default='город' /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="placeType"> <xsd:restriction base = "xsd:string"> <xsd:enumeration value="ropofl" /> <xsd:enumeration value="nocenoK" /> <xsd:enumeration value="flepeBHH" /> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="phone-listType"> <xsd:element name="work-phone" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="home-phone" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> </xsd:complexType> <xsd:simpleType name="ruDate"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{2}.[0-9]{2}.[0-9]{4}" /> </xsd:restriction> </xsd:simpleType> </xsd:schema> Ответ #1 @Алексей Немиро 05.11.2013 19:03 Как "красиво" , удобочитаемо, наглядно показать приведенныйГде показать? :) Браузеры показывают структуру xml в удобном виде. Ответ #2 @capetownn 06.11.2013 14:55 Алексей, здравствуйте. Приведенный вчера текст XML-document я скопировал из книги Ильдара Забиббуллина "Самоучитель XML.PDF" (потом преобразовал в WinWord-document), вставил в Notepad++, затем на Ваш сайт, выбрал код в ComboBox HTML,XML, но на выходе текст не отформатировался. Как отформатировать? Например, несколько вложенных операторов if if if if ................ endif endif endif СПАСИБО. Ответ #3 @Алексей Немиро 06.11.2013 15:26 В тексте xml есть ошибки, например: <?xml version="l.0"?>,
буква L вместо единицы. На сайте нет функции форматирования, только подсветка синтаксиса. А в Visual Studio форматирование можно выполнить через меню Правка -> Форматировать документ Ответ #4 @capetownn 06.11.2013 17:26 Алексей, ИСКПЕННЕ БЛАГОДАРЮ. Вращение кнопки (Button) @dimka78 04.11.2013 19:18 Привет всем! Народ подскажите можно ли в VB.net замутить вращение стандартной кнопки (Button) и если можно то как это реализовать ну или где про это можно почитать. Заранее благодарю !! Ответ #1 @Dest 04.11.2013 21:43 Если тебя интересует вращение типо как сматреть на рулетку сверху, то тут уж лучше капать в сторону WPF, стандартными средствами GDI мне кажется это не получится Ответ
#2 @Алексей Немиро 05.11.2013 14:20 Можно нарисовать и при помощи GDI. Примера перевертывания именно кнопки наверняка не удастся найти, но наклонить изображение на определенный угол достаточно легко, например, при помощи Нарисовать кнопку можно методом Настоящую кнопку в процессе вращения придется прятать. Это самый простой вариант. Вращать "живую" кнопку будет сложнее. Главным образом сложность в размере, т.к. при вращении, размер кнопки должен увеличиться. Копать нужно в сторону создания своей кнопки на основе стандартной и заменить метод прорисовки своим кодом. Ответ #3 @Shark1 05.11.2013 20:47 Mvc веб приложение и логирование @roma_rio 01.11.2013 01:07 Пишу веб приложение(технология mvc3 с использованием entity framework 4.0) в процессе написания возникла потребность в логировании дейсвий пользователей, а именно создание, редактирование и удаление записей в БД. Основное требавание к логу: 1. вести лог изменений только конкретных таблиц 2. в режиме редактирования вести лог только тех полей которые изменились. Немного побродив по просторах интернета нарыл вот что штука №1 источник нужно иметь таблицу Log, модель представления и репозиторий этой таблицы, обработчик события PreRequestHandlerExecute в Global.asax protected void Application_PreRequestHandlerExecute(object sender, EventArgs e) { if (Request.RequestContext.RouteData.Values["controller"] == null) return; LogRepository logRepo = new LogRepository(new DataContext(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)); string Controller = (Request.RequestContext.RouteData.Values["controller"]!=null?Request.RequestContext.RouteData.Values["controller"].ToString():"PanelSpecifications"); string Action = (Request.RequestContext.RouteData.Values["action"]!=null?Request.RequestContext.RouteData.Values["action"].ToString():"Index"); int counter = 0; string IP = Request.UserHostAddress; string UserName = User.Identity.Name; string GUID = Guid.NewGuid().ToString(); // start mark logRepo.Add(new Log() { Controller = Controller, Action = Action, IP = IP, UserName = UserName, Number = counter, Field = "StartLog", Value = "StartLog", GUID = GUID } ); counter++; // full route data foreach (var item in Request.RequestContext.RouteData.Values) { if(item.Key.Trim().ToLower() != "controller" && item.Key.Trim().ToLower() != "action") { logRepo.Add(new Log() { Controller = Controller, Action = Action, IP = IP, UserName = UserName, Number = counter, Field = item.Key??"", Value = Convert.ToString(item.Value)??"" , GUID = GUID } ); counter++; } } // Request Query String foreach (string key in Request.QueryString.Keys) { string Value = Convert.ToString(Request.QueryString[key]); logRepo.Add(new Log() { Controller = Controller, Action = Action, IP = IP, UserName = UserName, Number = counter, Field = key??"", Value = Value??"" , GUID = GUID } ); counter++; } // Request Form Values foreach (string key in Request.Form.Keys) { string Value = Convert.ToString(Request.Form[key]); logRepo.Add(new Log() { Controller = Controller, Action = Action, IP = IP, UserName = UserName, Number = counter, Field = key??"", Value = Value??"" , GUID = GUID } ); counter++; } // save changes logRepo.SubmitChanges(); } штука №2 источник этот способ очень понравился во время записи/редактирования ведется лог. То есть ведется лог только тех данных, которые ты сам и определил. public void SavePay(PayModel newPay) { var old = db.pay.FirstOrDefault(x => x.id == newPay.Id); if (old != null) { Dictionary<string, object> oldFields = old.GetType().GetProperties() .ToDictionary(x => x.Name, x => x.GetValue(old, null)); old.field1 = newPay.field1 ; old.field2= newPay.field2; old.field3= newPay.field3; ..... old.field21= newPay.field21; old.field22= newPay.field22; old.field23= newPay.field23; Dictionary<string, object> newFields = old.GetType().GetProperties() .ToDictionary(x => x.Name, x => x.GetValue(old, null)); db.SaveChanges(); foreach (var oldField in oldFields) { if (newFields.Keys.Contains(oldField.Key)) { if (oldField.Value != null) { if (oldField.Value.ToString() != newFields[oldField.Key].ToString()) { //нашли поля которые изменены. Можно записать вот такой подробный лог // поле oldField.Key изменили c oldField.Value на newFields[oldField.Key].ToString() } } } } } } как вам эти способы? Прошу вас форумчане поделитесь своими способами логирования, которыми вы пользуетесь в своих приложениях. Подскажите, как мне лучше осуществить это в моем веб-приложении, имею ввиду добавлять ли еще один проект в мои солюшн? Снимет ли такой способ нагрузку с основного проекта при промышленном использовании сайта? (поделитесь инфой вообще зачем так делают: несколько проектов в одном солюшене...) Ответ #1 @Алексей Немиро 01.11.2013 12:23 Я использую свою ORM, отслеживание изменений полей реализовано внутри (в базовом классе). Чтобы включить отслеживанием изменений, достаточно добавить полю соответствующий атрибут. А общую идею я описал в статье Ведение журнала изменений объектов в .NET Framework. Там не готовое решение, статью я специально для себя написал, чтобы не забыть. А в своей библиотеке реализацию логирования сделал несколько позже и немного по-другому. По коду проверки изменений, у меня он с годами стал выглядеть так: Public Function DataIsChanged(ByVal p As PropertyInfo) As Boolean If _OriginalValues Is Nothing Then Return False 'если в памяти нет значения для указанного свойства, возвращаем False - данные не менялись If Not _OriginalValues.ContainsKey(p.Name) Then Return False Dim v As Object = p.GetValue(Me, Nothing) If _OriginalValues(p.Name) Is DBNull.Value AndAlso (v IsNot DBNull.Value AndAlso v IsNot Nothing) Then Return True If p.PropertyType Is GetType(String) AndAlso (String.IsNullOrEmpty(v) AndAlso (_OriginalValues(p.Name) Is DBNull.Value OrElse String.IsNullOrEmpty(_OriginalValues(p.Name)))) Then Return False If v Is Nothing AndAlso (_OriginalValues(p.Name) IsNot Nothing AndAlso _OriginalValues(p.Name) IsNot DBNull.Value) Then Return True If v Is Nothing AndAlso _OriginalValues(p.Name) Is Nothing Then Return False If v Is Nothing Then Return False 'некоторые типы данных нельзя сравнивать оператором =, используем оператор Is - инвертно IsNot If v.GetType().BaseType() IsNot Nothing AndAlso v.GetType().BaseType() Is GetType(Array) Then Return v IsNot _OriginalValues(p.Name) If v.GetType() Is GetType(Guid) Then Return v IsNot _OriginalValues(p.Name) If v.GetType() Is GetType(Nullable(Of )) Then Return v IsNot _OriginalValues(p.Name) 'остальные можно сравнивать оператором = Return Not _OriginalValues(p.Name) = v End Function поделитесь инфой вообще зачем так делают: несколько проектов в одном солюшене..Это удобно. Например, если модель будет в отдельном проекте, ее легко можно будет использовать и в других проектах. У меня сайты обычно состоят из трех-четырех отдельных проектов. В последующем некоторые отдельные части сайтов используются, как есть, в других сайтах. Не нужно писать или копировать код туда-сюда. Например, foxtools.ru. Состоит из: 1. foxtools.ru 2. api.foxtools.ru 3. qr.foxtools.ru 4. scr.foxtools.ru 5. FoxTools.Lib.dll 6. FoxTools.Models.dll 7. FoxTools.WebShoter.exe 1, 2, 3, 4 -ый - независимые сайты, они используют общий 6-ой проект. 1-ый использует 5-ый. Если бы FoxTools.Models.dll была у каждого сайта своя, то в каждом проекте был бы одинаковый код. Если в нем обнаружится ошибка, или потребуется модернизация, мне пришлось бы менять его как минимум в четырех проектах, в которых, со временем, одинаковый код может начать немного отличаться от первоначально, что еще сильнее усложнит работу с ним. Еще есть Хитрый стрелок экранов, он в отдельном решении (solution), но это из-за того, что он с открытым исходным кодом (Open Source). Так та мне было бы удобней его держать в основном решении, под номером восемь (и девять - там два проекта, сам Хитрый стрелок и установщик). При командной работе, удобно разделять проект на отдельные части. По нагрузке - сомневаюсь, что такой подход сильно снижает нагрузку на сервер, но сборки будут загружаться по мере необходимости и следовательно на пару свободных "нанобайт" в памяти будет больше :). Самое главное ведь, что находится внутри кода, а не его оболочка. Что касается хранения данных в коллекции, это зависит от объема данных. Если там тексты статей, файлы, то естественно, это сильно отразится на расходовании оперативной памяти, да и процесс сравнения может затянуться. А если там обычные данные, небольшие поля, числа, то расход памяти будет несущественным, процесс сравнения и логирования будет быстрым, так что можно сказать, что это вообще будет незаметно. Что касается записи журнала. Лучше всего сделать DataTable и наполнять его изменениями. Затем, после сохранения основных данных, перенести DataTable в базу. Либо через INSERT INTO (но не кучей запросов, а сделать один), но лучше через SqlBulkCopy - это позволит перенести данные из DataTable в базу, без дополнительных заморочек, и скорость будет раз в сто выше, чем через INSERT INTO. Ответ #2 @roma_rio 01.11.2013 16:49 Что касается хранения данных в коллекции, это зависит от объема данных. Если там тексты статей, файлы, то естественно, это сильно отразится на расходовании оперативной памяти, да и процесс сравнения может затянуться. А если там обычные данные, небольшие поля, числа, то расход памяти будет несущественным, процесс сравнения и логирования будет быстрым, так что можно сказать, что это вообще будет незаметно. самое длинное поля это будут ФИО или примечание на 255 символов, а всё остальное даты, суммы, № каки-ето. Таблици с большими полями логировать не дубу Как получить признак время окончания выполнения команды shell @kelnik475 31.10.2013 20:52 Как получить признак
времени окончания выполнения команды shell(mypath, 1) при её использовании в visual basic 6.0 mypath - это запуск файла *.bat У меня складывается мнение,что я возвращаюсь в visual basic 6.0 не закончив выполняв файл *.bat Т.е приходится создавать времменную задержку Ответ #1 @Алексей Немиро 31.10.2013 21:15 Shell просто запускает программу и не ждет завершения её выполнения. Shell возвращает идентификатор запущенного процесса. Можно сделать таймер и в обработчике тика проверять существование идентификатор процесса. Для поиска процесса придется использовать API, что именно сейчас не вспомню. Исходные кодыЧасы на FillPia-xVisual
Basic .NET: Графика @Akiva 07.11.2013 01:05 Интересный пример реализации круглых часов.К данном исходному коду прилагаются файлы примеров. Скачать. Немного из математикиVisual Basic .NET: Числа, математика, финансы @Akiva 06.11.2013 20:43 Пример реализации программы для выполнения различных математических операций.К данном исходному коду прилагаются файлы примеров. Скачать. Преобразование UNICODEVisual Basic .NET: Строки @Akiva 06.11.2013 20:20 Пример программы для конвертирования кодов UNICODE в символы.К данном исходному коду прилагаются файлы примеров. Скачать. Конвертер систем счисленияVisual
Basic .NET: Числа, математика, финансы @Akiva 26.10.2013 17:24 Пример программы, которая переводит числа из одной системы счисления в другую. (Dec -> Bin/Hex-32 и обратно).К данном исходному коду прилагаются файлы примеров. Скачать. Вакансии в ITWeb-дизайнерРоссия, Новосибирск | Работа в офисе | 30 000,00 KBP Контент-менеджерРоссия, Новосибирск | Работа в офисе | 35 000,00 KBP Программист 1С (БП 8)Россия, Ростов-на-Дону | Работа в офисе Программист 1С (без опыта)Россия, Ростов-на-Дону | Работа в офисе Программист 1СРоссия, Ростов-на-Дону | Работа в офисе | 30 000,00 KBP WEB-Designer (Дизайнер интерфейсов)Россия, Новосибирск | Работа в офисе SEO-специалистРоссия, Новосибирск | Работа в офисе | 30 000,00 KBP SEO-оптимизаторРоссия, Новосибирск | Работа в офисе
| 70 000,00 KBP Программист 1СРоссия, Ростов-на-Дону | Работа в офисе | 50 000,00 KBP Программист 1СРоссия, Ростов-на-Дону | Работа в офисе Все вакансии в IT · Новости мира ITИзогнутый смартфон LG оказался гибкимСмартфон G Flex, выпущенный компанией LG, способен прогибаться под воздействием силы. Это следует из видеоролика, опубликованного в интернете. Ранее о такой возможности известно не было — LG лишь заявила, что в устройстве используется гибкий экран на органических светодиодах. 06.11.2013 12:18 · Категория: Железо · Источник: Lenta.ru Компьютер за 25 долларов обзаведется мониторомНа Kickstarter стартовал сбор средств на HDMIPi — монитор для мини-компьютера Raspberry Pi. Дисплей при диагонали 9 дюймов имеет разрешение 1280 на 800 точек и подключается к компьютеру через HDMI. Поставки монитора начнутся в феврале 2014 года. На Kickstarter устройство стоит 75 фунтов. 06.11.2013 12:17 · Категория: Железо · Источник: Lenta.ru Представлен наполненный гелием «винчестер»Компания HGST представила жесткий диск Ultrastar He6 емкостью шесть терабайт. Гермозона диска заполнена гелием. Гелий имеет меньшую, чем у воздуха, плотность, за счет чего минимизируется трение и снижается рабочая температура диска. Форм-фактор «винчестера» — 3,5 дюйма; в состав накопителя входят семь магнитных пластин. 06.11.2013 12:17 · Категория: Железо · Источник: Lenta.ru
Подпишитесь на тематические RSS-ленты Kbyte.Ru, чтобы быть в курсе последних новостей: Основная лента · Форумы (темы и сообщения) · Visual Basic 5.0/6.0 · Visual Basic .NET · C# (Си шарп) · Delphi · JavaScript · ActionScript · ASP .NET · ASP .NET MVC Ищите Kbyte.Ru в социальных сетях FaceBook, ВКонтакте, Twitter. Если вы занимаетесь программированием, то наверняка вам пригодятся хитрые инструменты. Международный портал для программистов и разработчиков Kbyte.Ru основан в 2006 году. Целью портала является объединение программистов и специалистов IT-бизнеса, студентов и преподавателей для обмена опытом и знаниями, оказания помощи во всех делах и начинаниях в области IT. |
В избранное | ||