[C#] Bild mittels HttpWebRequest und HttpWebResponse herunterladen

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Net;

private long DownloadImage(string url)
{
    HttpWebRequest request = null;
    HttpWebResponse response = null;
    long contentlength = 0;
    
    try
    {
        request = (HttpWebRequest)WebRequest.Create(url);
        response = (HttpWebResponse)request.GetResponse();

        if ((response.StatusCode == HttpStatusCode.OK ||
             response.StatusCode == HttpStatusCode.Moved ||
             response.StatusCode == HttpStatusCode.Redirect) &&
             response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase))
        {
            Bitmap b = new Bitmap(response.GetResponseStream());

            // do something here
            ...

            b.Dispose();
            b = null;
        }
    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message);
    }
    finally
    {
        if (response != null)
        {
            contentlength = response.ContentLength;
            response.Close();
            response = null;
        }

        if (request != null)
        {
            request = null;
        }
    }
    
    // returns bytes read
    return contentlength;
}

[Zedgraph] Achsentitel per Event anpassen

public void InitGraph()
{
        zedGraph.GraphPane.XAxis.ScaleTitleEvent += new Axis.ScaleTitleEventHandler(XAxis_ScaleTitleEvent);
}

private string XAxis_ScaleTitleEvent(Axis axis)
{
        // immer Datum zw. x-Min und x-Max anzeigen
        double d = (axis.Scale.Min + axis.Scale.Max) / 2.0;
        return DateTime.FromOADate(d).ToString("dd.MM.yyyy");
}

[C#] Mehrere DataGridViews über eine Scollbar scrollen

// Scrollereignis der Scrollbar
private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
    // Column des ersten DataGridViews setzen
    GridView1.FirstDisplayedScrollingColumnIndex = (int)(GridView1.ColumnCount * hScrollBar1.Value / 100.0);
    // Column des zweiten DataGridViews setzen
    GridView2.FirstDisplayedScrollingColumnIndex = (int)(GridView2.ColumnCount * hScrollBar1.Value / 100.0);
}

[C#] AssemblyLoad Event – geladene Assemblies ausgeben

static class Program
{
    /// <summary->
    /// Der Haupteinstiegspunkt für die Anwendung.
    /// </summary->
    [STAThread]
    static void Main()
    {
        // Event anmelden
        AppDomain.CurrentDomain.AssemblyLoad += new AssemblyLoadEventHandler(CurrentDomain_AssemblyLoad);

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

    /// <summary->
    /// statische Event-Funktion, wird beim Laden einer Assembly aufgerufen
    /// </summary->
    /// <param name=&quot;sender&quot;-></param->
    /// <param name=&quot;args&quot;-></param->
    private static void CurrentDomain_AssemblyLoad(object sender, AssemblyLoadEventArgs args)
    {
        Console.WriteLine(args.LoadedAssembly.FullName);
    }
}

[C#] Tooltip beim Überfahren eines ListViewSubItem anzeigen

// auf dem Formular muss sich noch ein ToolTip namens "toolTip" befinden
// letztes SubItem unter der Maus
private ListViewItem.ListViewSubItem _currentsubitem = null;
// Offset für Tooltip
private const int TOOLTIPP_Y_OFFSET = 24;

private void ListView1_MouseMove(object sender, MouseEventArgs e)
{
    ListView lv = sender as ListView;

    if (lv != null)
    {
        ListViewHitTestInfo htInfo = lv.HitTest(e.X, e.Y);
        if (htInfo != null)
        {
            if (htInfo.Item != null && htInfo.SubItem != null)
            {
                // wenn Subitem in Spalte 2 (Index == 1) gewählt
                if (htInfo.Item.SubItems.IndexOf(htInfo.SubItem) == 1)
                {
                    if (_currentsubitem != htInfo.SubItem)
                    {
                        toolTip.Show(htInfo.Item.Tag as string, lv, e.X, e.Y + TOOLTIPP_Y_OFFSET);
                        _currentsubitem = htInfo.SubItem;
                    }
                }
                else
                {
                    toolTip.Hide(lv);
                    _currentsubitem = null;
                }
            }
            else
            {
                toolTip.Hide(lv);
                _currentsubitem = null;
            }
        }
    }
}

private void ListView1_MouseLeave(object sender, EventArgs e)
{
    ListView lv = sender as ListView;

    if (lv != null)
    {
        toolTip.Hide(lv);
        _currentsubitem = null;
    }
}