Käyttöliittymäkomponentit ovat luokkia, jotka periytyvät luokasta Control (System.Windows.Forms.Control). Komponentteja voidaan lisätä Lomakkeet tai ryhmittelevän komponentin (jotka löytyvät alla olevasta taulukosta) sisälle.

Tässä yleisiä graafisia komponentteja. Visual Studion Toolboxista löytyy muitakin komponentteja, mutta ne eivät ole graafisia.

Yleiset komponentit
Painikkeet Painike
Painikkeet "Raksi ruutuun"
CheckedListBox "Raksi ruutuun"-lista
ComboBox Pudotuslista
DateTimePicker Päivämääränvalitsin
Label Otsake
LinkLabel Otsake linkillä
ListBox Lista
ListView Lista, jossa enemmän muotoiluvaihtoehtoja (esim. kuvake tai useampi sarake)
MaskedTextBox Tekstikenttä maskilla (esim. sallii vain numeroita)
MonthCalendar Kalenteri
NotifyIcon Ilmoituskuvake (pomppaa tuolta oikeasta alanurkasta)
NumericUpDown Numeronvalitsin
PictureBox Kuvalaatikko
ProgressBar Edistymispalkki
Painikkeet "Raksi ruutuun", joista vain yksi voi olla valittuna kerraan.
RichTextBox Tekstikenttä, jossa voi olla muotoiluja
TextBox Yksinkertainen tekstikenttä
ToolTip Työkaluvihje
TreeView Puumainen lista
WebBrowser Web-selain
Ryhmittelevät komponentit
FlowLayoutPanel Mukautuu käytössä olevaan tilaan
GroupBox Ryhmä (tämän sisällä usein RadioButtoneita)
Panel Paneeli
SplitContainer Jakaja
TabControl Välilehdet
TableLayoutPanel Ruudukko
Valikot
ContextMenuStrip Pomppaa esiin hiiren kakkosnapista
MenuStrip Valikko (lähinnä tekstiä)
StatusStrip Statuspalkki
ToolStrip Valikko (voi laittaa kuvia yms.)
ToolStripContainer ToolStrip:ien ryhmittelijä
Data
Chart Kaavio
BindingNavigator Rivien navigointiin
DataGridView Ruudukko
Dialogit
ColorDialog Värinvalitseminen
FolderBrowserDialog Kansion valitseminen
FontDialog Fontin valitseminen
OpenFileDialog Tiedoston valitseminen
SaveFileDialog Tiedoston tallennus

Komponenttien lisääminen ja poistaminen koodissa

Komponenteilla on ominaisuus Controls, joka sisältää kyseisen komponentin sisällä olevat komponentit. Siihen voi lisätä komponentteja metodilla Add ja poistaa metodilla Remove.

Lisätään lomakkeelle uusi painike

public Form1()
{
	// Visual Studion luomaa koodia
	InitializeComponent();

	// luodaan painike
	Button b = new Button();
	// annetaan nimi
	b.Name = "UusiNappula";
	// asetetaan teksti
	b.Text = "Ok";
	// lisätään painike lomakkeen komponentteihin
	this.Controls.Add(b);
}

Poistetaan tuo samainen painike

// metodi lomakkeessa
private void poistaPainike()
{
	// etsitään komponentti nimen perusteella
	Control c = this.Controls.Find("UusiNappula", true)[0];
	// poistetaan komponentti
	this.Controls.Remove(c);
}

Ominaisuudet

Komponenteilla on ominaisuuksia, jotka ovat kuten mitkä tahansa muutkin luokan ominaisuudet. Niiden arvoa voi muuttaa Visual Studio Properties-ikkunassa sekä koodissa.
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.Text = "button1";

Tässä joitain useille komponenteille yhteisiä ominaisuuksia

Yleiset
Name Nimi. Tätä käytetään komponentin käsittelyyn koodissa.
Enabled Onko käytettävissä
TabIndex Järjestysnumero hypittäessä sarkaimella kentästä toiseen
TabStop Pysähdytäänkö komponenttiin sarkamella hypittäessä
Tag Komponenttiin liitetty tieto
Visible Onko näkyvissä
Koko ja sijoittelu
Anchor Mihin reunoihin ankkuroidaan. Vaikuttaa esim. miten koko muuttuu ikkunan kokoa muutettaessa.
Dock Miten telakoidaan. Voi täyttää jonkin reunan tai jäljellä olevan alueen.
Location Sijainti = etäisyys vasemmasta ylänurkasta vanhemman vasempaan ylänurkkaan
Margin Marginaali = tyhjä alue reunan ja naapurikomponentin reunan välillä
MaximumSize Maksimikoko
MinimunSize Minimikoko
Padding Tyhjä alue reunan ja sisällön välillä
Size Koko
Ulkoasu
BackColor Taustaväri
Font Fontti
ForeColor Etummainen väri (teksti)

Tapahtumat

Komponenttien tapahtumilla voi olla useita käsittelijöitä ja niitä lisätään seuraavasti
// lisätään button1_Click -metodi painikkeen klikkauksen käsittelijäksi
this.button1.Click += new System.EventHandler(this.button1_Click);

Tapahtumankäsittelijöitä voi myös poistaa

// poistetaan button1_Click -metodi painikkeen klikkauksen käsittelijöistä
this.button1.Click -= new System.EventHandler(this.button1_Click);

Useille komponenteille yhteisiä tapahtumia

Click Klikataan
DragDrop Vedä-pudota-toiminta suoritettu
DragEnter Raahataan objekti komponentin päälle
DragLeave Raahataan objekti komponentin ulkopuolelle
DragOver Raahataan objektia komponentin päällä
Enter Komponentti tulee aktiiviseksi
KeyDown Näppäin menee pohjaan
KeyPress Näppäintä painettu
KeyUp Näppäin nousee ylös
Leave Komponentti muuttaa epäaktiiviseksi
MouseDown Hiiren nappi menee pohjaan
MouseEnter Kursori tulee komponentin päälle
MouseHover Kursori pysyy komponentin päällä paikallaan
MouseLeave Kursosi poistuu komponentin päältä
MouseMove Kursori liikkuu komponentin päällä
MouseUp Hiiren nappi päästetään ylös