|
C# - как превратить html в ссылки в LinkLabel ← C# - статьи, советы, сниппеты
0.00
|
Мой небольшой велосипед, превращает html теги <a href="http://vbotinke.ru">ссылка</a> в сылки в LinkLabel, количество ссылок неограничено:
using System.Text.RegularExpressions;
...
public void link_parse(LinkLabel label) {
label.Links.Clear();
String text = label.Text;
MatchCollection matches = Regex.Matches(text, "<a href=['"]?(.*?)['"]?>(.*?)</a>", RegexOptions.IgnoreCase);
foreach (Match link in matches) {
text = Regex.Replace(text, "<a href=['"]?(.*?)['"]?>(.*?)</a>", @"$2", RegexOptions.IgnoreCase);
label.Links.Add(text.IndexOf(link.Groups[2].Value), link.Groups[2].Value.Length, link.Groups[1].Value);
}
label.LinkClicked += new LinkLabelLinkClickedEventHandler(LinkedLabelClicked);
label.Text = text;
}
...
LinkLabel1.Text = "Превращаем html в <a href='http://vbotinke.ru'>ссылки</a>";
link_parse(LinkLabel1);
|
нет тегов
yandex → 06 Марта 2012 г. в 00 ч. 32 м.
Читать / Комментировать [0]
|
| |
C# - прозрачная картинка (Transparent PictureBox) ← C# - статьи, советы, сниппеты
0.00
|
Суть этого компонента в том, чтобы создать новую область прорисовки, исключая из неё прозрачные точки (с альфа-каналом). Создайте новый класс, и подключите его к своему проекту, после чего в панели инструментов появится новый компонент для использования.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace project
{
///
/// A transparent PictureBox.
///
public class TransparentPictureBox : PictureBox
{
Boolean parent_refreshed = false;
public TransparentPictureBox()
{
this.BackColor = Color.Transparent;
}
protected override void OnPaint(PaintEventArgs e)
{
Bitmap bmp = new Bitmap(this.Image);
e.Graphics.DrawImage(bmp, new Point(0, 0));
int x;
int y;
System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
Color mask = Color.FromArgb(0x00000000);
for (x = 0; x <= bmp.Width - 1; x++)
{
for (y = 0; y <= bmp.Height - 1; y++)
{
if (!bmp.GetPixel(x, y).Equals(mask))
{
gp.AddRectangle(new Rectangle(x, y, 1, 1));
}
}
}
bmp.Dispose();
this.Region = new System.Drawing.Region(gp);
if (!parent_refreshed)
{
this.Parent.Invalidate();
parent_refreshed = true;
}
}
}
}
|
нет тегов
yandex → 05 Марта 2012 г. в 23 ч. 53 м.
Читать / Комментировать [0]
|
| |
C# - прозрачная панель (Transparent Panel) ← C# - статьи, советы, сниппеты
0.00
|
Создайте вот такой небольшой класс, и подключите его к своему проекту. После чего новый компонент появится на панели инструментов.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace project
{
///
/// A transparent control.
///
public sealed class TransparentPanel : Panel
{
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x20;
return cp;
}
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(0, 0, 0, 0)), this.ClientRectangle);
}
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
}
}
}
|
нет тегов
yandex → 05 Марта 2012 г. в 23 ч. 46 м.
Читать / Комментировать [0]
|
| |
C# - как скачать файл на диск ← C# - статьи, советы, сниппеты
0.00
|
Подключите пространство имён System.Net, в котором нам понадобится WebClient. Пользоваться вот так:
try
{
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(File_Download_Completed);
webClient.DownloadFileAsync("URL файла", "Локальный путь для сохранения");
}
catch (Exception ex)
{
//работаем над ошибками
}
public void File_Download_Completed(object sender, AsyncCompletedEventArgs e)
{
if (e.Error == null)
{
//делаем что-то с сохранённым файлом
}
else
{
//работаем над ошибками
}
}
|
нет тегов
yandex → 05 Марта 2012 г. в 23 ч. 40 м.
Читать / Комментировать [0]
|
| |
|