Страница: 1 |
Страница: 1 |
Вопрос: Где взять примеры для VB 2005?
Добавлено: 22.07.08 12:10
Автор вопроса: Yanex | Web-сайт:
Срочно понадобилось освоить дотнет. В связи с этим надо скачать много примеров и разбираться в них.
Пару книг по 2005 я уже скачал, но нужной инфы в них (как юзать GDI+ и т.д.) не нашел.
Поиск в Яндексе ощутимых результатов не дал. А в MSDN каждый пример весит по 1 МБ (трафик дорогой).
Кто-нить знает сайты с большим количеством примеров?
P.S.: какой формат должен быть у файла курсора (.cur), чтобы он нормально загружался на форму? Загружаю конструктором New Cursor(path). Почему-то получается только с монохромными. А в MSDN вообще почему-то написано, что они должны быть размером 16x16...
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #1
Добавлено: 22.07.08 12:41
vbstreets.ru не предлагать. Уже смотрю
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 22.07.08 12:41
Пофигу какой формат.. там в любом случае Bitmap создается. Можешь обычный gif || png ему подсунуть.. На счет размера ты тоже ошибаешься.. там тоже пофигу.. я как то от скуки вместо курсора анимированную гифку прикрутил..
Номер ответа: 3
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #3
Добавлено: 22.07.08 12:51
Как? Там если задать не cur, а ico, срабатывает какое-то исключение. Это при том, что формат файлов похож. А если gif, я вообще не знаю, что будет...
Ты как курсор грузишь? Просто я в дотнете, как понимаешь, новичок, и всего пространства имен пока не знаю
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 22.07.08 14:53
Вот как то так..
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private Cursor __customCursor = null;
public Form1()
{
InitializeComponent();
this.WindowState = FormWindowState.Maximized;
try
{
// initialize cursor instance
using (FileStream fs = File.OpenRead(@"C:\test.gif")
{
using (Bitmap bmp = new Bitmap(fs))
{
__customCursor = new Cursor(bmp.GetHicon());
}
}
// set current cursor
this.Cursor = __customCursor;
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
protected override void OnFormClosed(FormClosedEventArgs e)
{
// destroy cursor
if (__customCursor != null) __customCursor.Dispose();
base.OnFormClosed(e);
}
}
}
Bitmap можно получить из любого известного формата, далее получаешь hIcon и из него уже делаешь курсор.. Вот, собственно, и вся хитрость..
Номер ответа: 5
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #5
Добавлено: 23.07.08 14:21
Ах вот ты как делаешь... Мда. Я думал - проще будет
Кстати, а почему на сишнике? Что такое "using (FileStream fs = File.OpenRead(@"C:\test.gif")"? Using - это что? Какой аналог есть в VB.NET?
Номер ответа: 6
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #6
Добавлено: 23.07.08 14:25
File.OpenRead(@"C:\test.gif")"? Using - это что? Какой аналог есть в
VB.NET?
конечно есть, тоже Using ... As ... End Using
Номер ответа: 7
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #7
Добавлено: 23.07.08 14:27
А что делает Using? Типа With?
Номер ответа: 8
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #8
Добавлено: 23.07.08 14:53
Using типа Using В общем объект создается, юзается,а по окончанию юзанья ресурсы освобождаются
Типа, Dim ... As ... Close ... Dispose ... etc
[ statements ]
End Using
Parts
resourcelist
Required if you do not supply resourceexpression. List of one or more system resources that this Using block controls.
resourceexpression
Required if you do not supply resourcelist. Reference variable or expression referring to a system resource to be controlled by this Using block.
statements
Optional. Block of statements that the Using block runs.
End Using
Required. Terminates the definition of the Using block and disposes of all the resources that it controls.
Each resource in the resourcelist part has the following syntax and parts:
resourcename As New resourcetype [ ( [ arglist ] ) ]
-or-
resourcename As resourcetype = resourceexpression
resourcelist Parts
resourcename
Required. Reference variable that refers to a system resource that the Using block controls.
New
Required if the Using statement acquires the resource. If you have already acquired the resource, use the second syntax alternative.
resourcetype
Required. The class of the resource. The class must implement the IDisposable interface.
arglist
Optional. List of arguments you are passing to the constructor to create an instance of resourcetype. See Parameter List.
resourceexpression
Required. Variable or expression referring to a system resource satisfying the requirements of resourcetype. If you use the second syntax alternative, you must acquire the resource before passing control to the Using statement.
Remarks
Sometimes your code requires an unmanaged resource, such as a file handle, a COM wrapper, or a SQL connection. A Using block guarantees the disposal of one or more such resources when your code is finished with them. This makes them available for other code to use.
Managed resources are disposed of by the .NET Framework garbage collector (GC) without any extra coding on your part. You do not need a Using block for managed resources.
A Using block has three parts: acquisition, usage, and disposal.
Acquisition means creating a variable and initializing it to refer to the system resource. The Using statement can acquire one or more resources, or you can acquire exactly one resource before entering the block and supply it to the Using statement. If you supply resourceexpression, you must acquire the resource before passing control to the Using statement.
Usage means accessing the resources and performing actions with them. The statements between Using and End Using represent the usage of the resources.
Disposal means calling the Dispose method on the object in resourcename. This allows the object to cleanly terminate its unmanaged resource. The End Using statement disposes of the resources under the Using block's control.
Behavior
A Using block behaves like a Try...Finally construction in which the Try block uses the resources and the Finally block disposes of them. Because of this, the Using block guarantees disposal of the resources, no matter how you exit the block. This is true even in the case of an unhandled exception, except for a StackOverflowException.
The scope of every resource variable acquired by the Using statement is limited to the Using block.
If you specify more than one system resource in the Using statement, the effect is the same as if you nested Using blocks one within another.
Structured Exception Handling Within a Using Block
If you need to handle an exception that might occur within the Using block, you can add a complete Try...Finally construction to it. If you need to handle the case where the Using statement is not successful in acquiring a resource, you can test to see if resourcename is Nothing.
Structured Exception Handling Instead of a Using Block
If you need finer control over the acquisition of the resources, or you need additional code in the Finally block, you can rewrite the Using block as a Try...Finally construction. The following example shows skeleton Try and Using constructions that are equivalent in the acquisition and disposal of resource.
Copy Code
' Insert code to work with resource.
End Using
' THE FOLLOWING TRY CONSTRUCTION IS EQUIVALENT TO THE USING BLOCK
Dim resource As New resourceType
Try
' Insert code to work with resource.
Catch ex As Exception
' Insert code to process exception.
Finally
' Insert code to do additional processing before disposing of resource.
resource.Dispose()End Try
Note:
The code inside the Using block should not assign the object in resourcename to another variable. When you exit the Using block, the resource is disposed, and the other variable cannot access the resource to which it points.
Example
The following example uses a Using block to acquire a new font. This guarantees that the system calls the Dispose method on the font when your code exits the block.
Visual Basic Copy Code
Using nf As New System.Drawing.Font("Arial", 12.0F, _
System.Drawing.FontStyle.Bold)
c.Font = nf
c.Text = "This is 12-point Arial bold"
End Using
End Sub
Номер ответа: 9
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #9
Добавлено: 23.07.08 16:46
Фига ссе... куда уж еще проще то??? 3 строчки кода!!!!
1. Открываем поток для чтения картинки
2. Создает Bitmap
3 Создаем курсор
Потому что на VB не пишу уже очень давно по некоторым причинам..
Про Using тебе уже все популярно объяснили..
Номер ответа: 10
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #10
Добавлено: 23.07.08 16:50
Типа, Dim ... As ... Close ... Dispose ... etc
Не совсем так
Код:
' КОд
End Using
аналогичен следующему:
Try
Obj = New MyObject()
' Код
Finally
If Obj IsNot Nothing Then Obj.Dispose
End Try
Номер ответа: 11
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #11
Добавлено: 23.07.08 22:14
Steel Brand, ну признай наконец что сишный синтаксис красивее, лаконичнее и более читабелен..