示例#1
0
        protected override void OnDrawItem(DrawItemEventArgs e)
        {
            if (e.Index == -1)
            {
                return;
            }

            InstallerResourceLanguage[] langs = InstallerResources.GetAvailableLanguages();
            InstallerResourceLanguage   lang  = langs[e.Index];

            e.DrawBackground();

            Graphics  g = e.Graphics;
            Rectangle r = e.Bounds;

            Int32 x = r.X + 2;
            Int32 y = r.Y + (r.Height / 2) - (lang.Flag.Height / 2);

            g.DrawImageUnscaled(lang.Flag, x, y);

            Size ts = TextRenderer.MeasureText(g, lang.LanguageName, SystemFonts.IconTitleFont);

            Int32 tx = r.X + lang.Flag.Width + 3;
            Int32 ty = r.Y + (r.Height / 2) - (ts.Height / 2);             // TODO: align by baseline, not by the rendered string size

// this code works, but it does make the list look funny
//			if( lang.RightToLeft ) {
//				tx = r.Width - ts.Width - 3;
//			}

            TextRenderer.DrawText(g, lang.LanguageName, SystemFonts.IconTitleFont, new Point(tx, ty), e.ForeColor);

            e.DrawFocusRectangle();
        }
示例#2
0
        protected override void OnSelectedIndexChanged(EventArgs e)
        {
            base.OnSelectedIndexChanged(e);

            InstallerResourceLanguage lang = SelectedItem as InstallerResourceLanguage;

            InstallerResources.CurrentLanguage = lang;
        }
示例#3
0
        private void __culture_SelectedIndexChanged(object sender, EventArgs e)
        {
            InstallerResourceLanguage lang = __culture.SelectedItem as InstallerResourceLanguage;

            __cultureAttrib.Text = lang.Attribution;

            Uri uri;

            if (Uri.TryCreate(lang.AttributionUri, UriKind.Absolute, out uri))
            {
                __cultureAttrib.LinkArea = new LinkArea(0, lang.Attribution.Length);
                __cultureAttrib.Tag      = uri;
            }
            else
            {
                __cultureAttrib.LinkArea = new LinkArea(0, 0);
                __cultureAttrib.Tag      = null;
            }
        }