Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MishaDoom
У тебя, если открыть Solution Explorer, в каждом проекте есть папка References. Там видны ссылки на сборки, которые использует проект. Все, что начинается на System, наверное трогать не стоит, это ссылки на сам framework, там все должно быть нормально. Все остальные можно поудалять (по контекстному меню) и добавить заново (контекстное меню по узлу References). Ссылка с студии может быть добавлена из трех источников: GAC (вкладка .NET в дилоге добавления ссылки), произвольное место (вкладка Browse) и из текущего решения (вкладка Projects). Если у тебя один проект использует другой проект в том же решенни, то нужно пользоваться Projects, тогда студия сама будет отслеживать ссылку. Если используется просто какая-то сборка, то используем Browse.  
Пока так. Если будут продолжаться проблемы -  присылай весь лог.
А вообще хорошо бы книжку почитать, Дж. Рихтер CLR via C# - программирование на платформе Microsoft .NET Framework 2.0 на языке С#. Там эта кухня внутренняя подробно описана. Книжка есть, если интересно - в личку.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 11:11 04-03-2009
AlexandrVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, кто знает можно ли сделать на шарпе заставку перед запуском главной формы с поддержкой полупрозрачности, без привлечения winapi. А то как то не верится что это нельзя сделать не подключая дополнительные  функции gdi32.dll и user32.dll. У меня пока вариант с подключением следующих ф-й, хочу уйти от такого варианта.
 
        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        public static extern IntPtr CreateCompatibleDC(IntPtr hDC);
 
        [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
        public static extern IntPtr GetDC(IntPtr hWnd);
 
        [DllImport("user32.dll", ExactSpelling = true)]
        public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
 
        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        public static extern Bool DeleteDC(IntPtr hdc);
 
        [DllImport("gdi32.dll", ExactSpelling = true)]
        public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);
 
        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        public static extern Bool DeleteObject(IntPtr hObject);
 
Надеюсь что можно по другому сделать, если бы не тени то 3 строчки кода всего

Всего записей: 50 | Зарегистр. 04-05-2006 | Отправлено: 12:22 05-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexandrVS
Так пойдет? Кода вообще писать не надо. Ну, там BackgroundImage по своему вкусу...

Код:
 
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject ("$this.BackgroundImage")));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize = new System.Drawing.Size(512, 269);
this.ControlBox = false;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.Opacity = 0.5; // Прозрачность 50%
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Form1";
 


Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 13:15 05-03-2009 | Исправлено: BaluBig, 13:16 05-03-2009
AlexandrVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
Вот с этим кодом у меня и проблема, я отображаю картинку png в которой есть тени и другие не полностью залитые места, использую так же как ты написал + TtrancparencyKey с цветом фона формы. Все работает по таймеру форма проявляется, все вырезается, но места где были тени, да лубая прозрачность заменяются на цвет фона не обробатываются. Вот если это победить то будет классно, а то так пока только с подключение dll-к виндовых получается.

Всего записей: 50 | Зарегистр. 04-05-2006 | Отправлено: 17:15 05-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я создаю контрол на основе стандартного. Как мне скрыть некоторые наследуемые свойства? Что бы в Properties их не было.

Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 20:48 05-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexandrVS
Тогда идем другим путем.
Всякие манипуляции с прозрачностью и цветом фона в дизайнере не делаем. Для формы создаем такой класс:

Код:
 
public class TransparentForm : Form
{
    public TransparentForm()
    {
         this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
         this.BackColor = Color.Transparent;
         this.SetStyle(ControlStyles.Opaque, true);
    }
 
    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams createParams = base.CreateParams;
            createParams.ExStyle |= 0x00000020 // WS_EX_TRANSPARENT;
            return createParams;
         }
     }
 
     protected override void OnPaint(PaintEventArgs e)
     {
         // Выводим картинку с прозрачностью на экран
         e.Graphics.DrawImage(WindowsFormsApplication1.Properties.Resources.Computer, 0, 0, Width, Height);
     }
}
 

 
И объект этого класса просто показываем как обычную форму.
 
Все бы хорошо, но есть проблема. Плохо перерисовывается... Если подсунуть под нее другое окно, то на полупрозрачных местах увидим куски старого фона... Как побороть не соображу что-то навскидку. Так что бы в WinAPI не залезать...

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 22:23 05-03-2009
feor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt
Использовать атрибут Browsable:

Код:
[Browsable(false)]
        public new int MaxLength
        {
            get { return base.MaxLength; }
            set { base.MaxLength = value; }
        }

Всего записей: 164 | Зарегистр. 04-09-2005 | Отправлено: 22:26 05-03-2009
AlexandrVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
Спасибо, это реально круто , с перерисовкой проблема решаема, думаю просто ещё несколько событий инвалидейтом обработать и все будет ок. Буду пробывать.

Всего записей: 50 | Зарегистр. 04-05-2006 | Отправлено: 11:08 06-03-2009
085



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто нибудь использует НХибернейт? Повешаюсь блин,не могу понять что делать с log4net.

Всего записей: 79 | Зарегистр. 17-09-2008 | Отправлено: 12:33 06-03-2009
085



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Разобрался.Может кому нибудь пригодится по нхибернейту
http://nhforge.org/blogs/nhibernate/archive/2008/09/06/how-to-configure-log4net-for-use-with-nhibernate.aspx

Всего записей: 79 | Зарегистр. 17-09-2008 | Отправлено: 18:56 06-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexandrVS
Ну, чем смог... А будет готовое решение - отпишись сюда, пригодится.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 22:36 06-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хочу перейти с Visual Studio 2005 Express на Visual Studio 2008 Express.
Будут ли косяки со старыми проектами?
Для запуска моих прог хватит .NET 2.0?

Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 18:54 10-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Будут ли косяки со старыми проектами?
У меня вроде не было.

Цитата:
Для запуска моих прог хватит .NET 2.0?
Да. А вообще там выбирается версия Net Framework, под которую будет проект (кроме 1.X)
 

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 21:15 10-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
OK, перейду, хоть русский MSDN будет
 
Нашел параметр BitConverter.IsLittleEndian. Это значит BitConverter.ToInt64 по разному может выполняться? Теперь мне надо везде проверки ставить и перетасовывать значащие байты? Имхо в М$ охренели

Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 23:01 10-03-2009 | Исправлено: V0lt, 23:06 10-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt
Цитата:
BitConverter.ToInt64 по разному может выполняться?

На x86 - Little Endian, подробнее по архитектурам посмотри здесь.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 01:01 11-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
хоть русский MSDN будет
Категорически не рекомендую Английский язык программисту необходим, так будет хоть какой-то практикум и навыки чтения документации на английском.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 21:20 11-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig

Цитата:
Английский язык программисту необходим, так будет хоть какой-то практикум и навыки чтения документации на английском.

этого практикума уже навалом, только порой задалбываюсь решение искать...
 
Добавлено:
может ком надо
 
Преобразование из Unsigned Integer Values of Variable Length (”vint“) в long

Код:
long get_vint(BinaryReader br)
{
     
    byte[] k = new byte[8];//массив для числа
    k[0] = br.ReadByte();
    if (k[0] == 0) return -1;//8 нулей не надо
    byte n;//число байт=число нулей+1
    byte one_bit = 0x80; //10000000;
    for (n = 1; n < 8; n++)
    {
        if ((k[0] & one_bit) != 0) break;
        one_bit /= 2;
        k[n] = br.ReadByte();
    }
    k[0] ^= one_bit;
    if (BitConverter.IsLittleEndian)//перетасовка значащих байт
    {
        byte t;
        for (byte i = 0; i < n / 2; i++)
        {
            t = k[i];
            k[i] = k[n - 1 - i];
            k[n - 1 - i] = t;
        }
    }
    return BitConverter.ToInt64(k, 0);
}

Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 22:09 11-03-2009 | Исправлено: V0lt, 23:34 11-03-2009
alecksey1984

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Извиняюсь, возможно вопрос не к месту, но все же:
"Насколько актуально осваивать технологию .NET. Стоит ли переучиваться, если можно ссыль, где почитать достоинства и недостатки ... "

Всего записей: 105 | Зарегистр. 13-11-2007 | Отправлено: 09:37 12-03-2009
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alecksey1984

Цитата:
Насколько актуально осваивать технологию .NET

Смотря для чего.
 

Цитата:
Стоит ли переучиваться

Смотря с чего.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 12:05 12-03-2009
alecksey1984

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KChernov
для написания программ-серверов на основе Indy, и общих VCL.  
существует ли для .net платформы поддержка directX и/или OpenGL.

Всего записей: 105 | Зарегистр. 13-11-2007 | Отправлено: 14:10 12-03-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru