Kontrol Ayrıntıları 1

Transkript

Kontrol Ayrıntıları 1
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
Bu Derste Öğrenecekleriniz:
1. Button
2. Label
3. LinkLabel
4. TextBox
5. MaskedTextBox
6. MessageBox
Visual C#’ ta genel olarak kullanılan kontrollerden bazıları aşağıda gösterilen listedeki gibidir.
No
1
2
3
4
5
Adı
Button
Label
LinkLabel
TextBox
MaskedTextBox
Araç Çubuğu Görünümü
Açıklama
Tıklama butonu
Etiket
Link etiket
Metin kutusu
Girişi maskelenebilir metin kutusu
Aşağıdaki formda yukarıda bahsi geçen tüm kontroller kullanılmıştır. Bu form, size bu kontrollerin
nasıl ve ne amaçla kullanılabileceği hakkında fikir verebilir.
Şimdi bunlardan her birisini ayrıntılı olarak tanıyacağız:
1. Button
Fareyle tıklatarak veya butona odaklanmış ise enter tuşuna basarak her hangi işlev yapmaya yarayan
kontroldür. Aşağıda bazı özellikleri tablolar şeklinde verilmiştir:
Özellik Adı
Açıklama
FlatStyle
Buton görünümünü ayarlamak için kullanılır.
Alabileceği Değerler:
Flat *
Popup
Standard
System**
* FlatStyle özelliği Flat olarak ayarlanan bir butonun kenar çizgi rengi, kenar çizgi kalınlığı, Mouse
üzerine giderken veya tıklanınca alacağı renkleri FlatAppearance özelliği ile ayarlanabilir.
** Standard ile System arasında görünüşte bir farklılık yok gibi görünüyor. Ancak görünüm özelliği
System olarak ayarlandığı zaman üzerindeki resimleri göstermiyecektir.
1
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
FlatStyle ve FlatAppearance özellikleri
yandaki şekilde görüldüğü gibi özellikler
penceresinden ayarlanabilir.
FlatStyle ve FlatAppearance özellikleri kod ile ayarlanacağı zaman aşağıdaki şekilde yapılmalıdır:
// Görünüm Flat yapılıyor
button1.FlatStyle = FlatStyle.Flat;
// Kenar çizgi rengi kırmızı yapılıyor
button1.FlatAppearance.BorderColor = System.Drawing.Color.Red;
// Kenar çizgi kalınlığı mavi yapılıyor
button1.FlatAppearance.BorderSize = 2;
// Mouse tıklanırkenki rengi sarı yapılıyor
button1.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Yellow;
// Mouse üzerine giderken ki rengi mavi yapılıyor.
button1.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Blue;
// button2 nin görünümü Popup yapılıyor
button2.FlatStyle = FlatStyle.Popup;
// button3 ün görünümü Standard yapılıyor
button3.FlatStyle = FlatStyle.Standard;
// button4 ün görünümü System yapılıyor
button4.FlatStyle = FlatStyle.System;
Butonun üzerindeki yazı Text özelliği ile kontrol edilir, yazının hizalanması TextAlign özelliği ile
kontrol edilir. Bu özellikler genel kontrol özelliklerinde ayrıntılı olarak işlenmişti.
Butonun üzerine bir resim ekleneceği zaman Image özelliği kullanılır. Butonun üzerindeki resmin
hizalanması ise ImageAlign özelliği ile kontrol edilir.
Bu özellikler; özellikler penceresinden kolayca ayarlanabileceği gibi kod ile de ayarlanabilirler. Kod
yazarak ayarlanmak istenirse aşağıdaki şekilde yapılabilir.
// button1 in üzerindeki yazı "Tamam" olarak ayarlanıyor
button1.Text = "Tamam";
// button1 in yazı hizalanması Orta-Merkez olarak ayarlanıyor.
button1.TextAlign = ContentAlignment.MiddleCenter;
// button1 in üzerindeki resim dosyadan alınarak oluşturuluyor
button1.Image = Image.FromFile(@"C:\resimlerim\ok.bmp");
// button1 in üzerindeki resmin hizalanması Orta-Sol olarak ayarlanıyor
button1.ImageAlign = ContentAlignment.MiddleLeft;
2
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
Not: ImageAlign ile TextAlign özelliklerinin bir button için alabileceği değerler aynı ve aşağıdaki gibi
olabilirler.
ContentAlignment.BottomCenter
ContentAlignment.BottomLeft
ContentAlignment.BottomRight
ContentAlignment.MiddleCenter
ContentAlignment.MiddleLeft
ContentAlignment.MiddleRight
ContentAlignment.TopCenter
ContentAlignment.TopLeft
ContentAlignment.TopRight
//
//
//
//
//
//
//
//
//
Yazı
Yazı
Yazı
Yazı
Yazı
Yazı
Yazı
Yazı
Yazı
veya
veya
veya
veya
veya
veya
veya
veya
veya
resmi
resmi
resmi
resmi
resmi
resmi
resmi
resmi
resmi
altta ortaya alır
altta sola hizalar
altta sağa hizalar
ortada merkeze hizalar
ortada sola hizalar
ortada sağa hizalar
üstte ortaya hizalar
üstte sola hizalar
üstte sağa hizalar
Butonun üzerindeki yazı ile resim arasındaki ilişki TextImageRelation özelliği ile kontrol edilir.
Özellik Adı
Açıklama
TextImageRelation
Buton üzerindeki Resim ile Yazı arasındaki ilişkiyi ayarlar.
Alabileceği Değerler:
ImageAboveText
ImageBeforeText
Overlay
TextAboveImage
TextBeforeImage
Bir butonun pasif veya aktif olmasını Enabled özelliği sağlar. (Bu özellik tüm kontrollerde geçerlidir.)
Özellik Adı
Açıklama
Enabled
Buton aktif veya pasif olmasını sağlar
Alabileceği Değerler:
button1.Enabled = true;
button1.Enabled = false;
Bir butonun çalışma anında görünüp görünmemesini ayarlamak istiyorsak Visible özelliği kullanılır.
Butona tıklandığında bir işler yapılsın isteniyorsa genelde Click olayı kullanılır. Click olayı events
(olaylar) penceresinden veya butonun üzerine çift tıklayarak oluşturabildiğimiz gibi kod yazarak ta
aşağıdaki gibi yapabiliriz.
button1.Click += new EventHandler(button1_Click);
private void button1_Click(object sender, EventArgs e)
{
// kod buraya yazılır.
}
Tıklanan buton sender parametresi içinde fonksiyonun içine geliyor. sender parametresi tip dönüşümü ile
butona dönüştürülüp fonksiyon içinde kullanılabilir. Bu durum özellikle birden fazla butona aynı olay
eklendiği zaman işe yarar. (Hesap Makinesi örneğini düşünün: tüm rakamlar veya işlemler için aynı olaylar
eklenmiştir. )
3
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
void button1_Click(object sender, EventArgs e)
{
// tıklanan butonu sender parametresinden tip dönüştürerek alıyoruz.
Button btn = (Button)sender;
// artık btn ile tıklanan butonun özelliklerine ulaşabiliriz.
}
Not: tüm kontrollerin Name özelliği değiştirilerek programda anlaşılır isimler kullanır. Butonlar için
genellikle isimler btn ile başlar. Fakat zorunlu değildir. Örnek: btnTamam, btnIptal
2. Label
Label kontrolleri, genellikle denetimler için açıklayıcı bir metin sağlamak için kullanılır. Odaklama sırası
almazlar. Labellerin kenarlıkları BorderStyle özelliği ile değiştirilebilir.
Özellik Adı
Açıklama
BorderStyle
Label için kenarlıkları ayarlar
Alabileceği Değerler:
None
FixedSingle
Fixed3D
Label in üzerindeki yazı Text özelliği ile kontrol edilir, yazının hizalanması TextAlign özelliği ile kontrol
edilir. Bu özellikler genel kontrol özelliklerinde ayrıntılı olarak işlenmişti.
Label üzerine bir resim ekleneceği zaman Image özelliği kullanılır. Label kontrolünün üzerindeki resmin
hizalanması ise ImageAlign özelliği ile kontrol edilir.
Bu özellikler; özellikler penceresinden kolayca ayarlanabileceği gibi kod ile de ayarlanabilirler. Kod yazarak
ayarlanmak istenirse aşağıdaki şekilde yapılabilir.
Label kontrolleri için yazı resim ilişkisini ayarlayacak bir özellik bulunmamaktadır.
// label1 in üzerindeki yazı "Adı" olarak ayarlanıyor
label1.Text = "Adı";
// label1 in yazı hizalanması Orta-Merkez olarak ayarlanıyor.
label1.TextAlign = ContentAlignment.MiddleCenter;
// label1 in üzerindeki resim dosyadan alınarak oluşturuluyor
label1.Image = Image.FromFile(@"C:\resimlerim\resim.bmp");
// label1 in kenarlıkları çizgiler görünecek şekilde ayarlanıyor
label1.BorderStyle = BorderStyle.FixedSingle;
Label kotrolünde label nesnesini otomatik olarak içindeki yazıya göre boyutlandırmak için AutoSize özelliği
kullanılır. Varsayılan değeri true olarak ayarlanmıştır. İstenirse false olarak ayarlanıp label kontrolünün
büyüklüğü ayarlanabilir.
Not: Label kontrolünde yazı hizalamalarının geçerli olabilmesi için AutoSize özelliğinin false olması
gerekmektedir.
4
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
3. LinkLabel
LinkLabel label gibidir. Fakat köprü eklemek için özel tasarlanmıştır. Name özelliği değiştirilerek anlaşılır
isimler kullanılabilir. Linklabeller isimlendirilirken genellikle isimleri lnk ile başlatılır. Fakat zorunlu değildir.
Örnek: lnkAnlasmaMetni
Özellik Adı
Text
TextAlign
Image
ImageAlign
BorderStyle
LinkColor
VisitedLinkColor
ActiveLinkColor
LinkVisited
LinkBehavior
Açıklama
LinkLabel deki yazı özelliğini kontrol eder.
LinkLabel deki yazı hizalamasını ayarlar.
LinkLabel e resim eklemeye yarar.
LinkLabel e eklenmiş resmin hizalamasını kontrol eder.
Kenarlık şeklini kontrol eder. Labeldeki ile aynıdır.
Link rengini kontrol eder.
Tıklandıktan sonraki link rengini kontrol eder.
Tıklanırken ki link rengini kontrol eder.
Linke tıklanıp tıklanmadığını kontrol eder.
LinkLabel kontrolünün davranışını belirler.
Veri Tipi
string
ContentAlignment
Image
ContentAlignment
BorderStyle
Color
Color
Color
bool
LinkBehavior
LinkBehavior özelliğinin alabileceği değerler aşağıdakiler gibidir:
AlwaysUnderline
HoverUnderline
NeverUnderline
Sürekli linkin altını Linkin üzerine Mouse ile Linkin altını
çizer.
gelince altını çizer
çizmez
SystemDefault
asla Sistemdeki linklerin varsayılan
durumuna ayarlar.
LinkLabel tıklanınca LinkClicked olayı devreye girer. İstersek link tıklanınca bir şeyler yaptırabilir istersek
internet Explorer ile bir URL linkine geçebiliriz.
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("http://www.microsoft.com");
}
4. TextBox
Metin kutusu, aşağıda en sık kullanılan özellikleri tablolar halinde verilmiştir. Programda isimleri
değiştirilerek anlaşılır isimler kullanılır. TextBox kontrolleri isimlendirilirken genellikle isimleri txt ile başlar.
Fakat zorunlu değildir. Örnek : txtAdı, txtSoyadı, txtMemleket
Özellik Adı
BorderStyle
Text
TextAlign
Açıklama
TextBox için kenarlıkları ayarlar.
TextBox kontrolündeki yazıyı kontrol eder
TextBox kontrolündeki yazı hizalamasını ayarlar.
Multiline
true yapılırsa yüksekliği ayarlanabilir ve birden fazla bool
satır yazı yazılabilir. eğer Multiline özelliği false olursa
tek satırda yazılar yazılabilir ve enter karakterleri
gözükmeyecektir.
ScrollBars
Kaydırma çubuklarının görünürlülüğü ayarlanır.
ScrollBars
5
Veri Tipi
BorderStyle
string
HorizontalAlignment
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
WordWrap
bool
Kelime kaydır özelliği kontrol edilir. Eğer metin bir
satırda TextBox kontrolüne sığmıyorsa yazı alt satırdan
devam eder.
Font
Yazının Font özelliğini kontrol edilir.
ReadOnly
true olursa yazının sadece okunur olarak ayarlanması
sağlar, eğer false olursa yazı düzenlenebilir.
AcceptsTab
true olursa sekme bir karakter olarak girilebilir. Yoksa
sekme tuşuna basılırsa odaklanma sırasını değiştirir.
CharacterCasing
Girilen yazının otomatik olarak büyük veya küçük harf
olması sağlayan bir özelliktir.
PasswordChar
Girilen yazının şifre gibi girilmesini sağlıyor. Yazıdaki
tüm harfleri ayarlanmış karakter olarak gösterir.
MaxLength
Girilebilecek maksimum yazı uzunluğunu (karakter
sayısını) ayarlar.
ForeColor
Yazı rengini ayarlar.
ShortcutsEnabled Kısa yol tuşlarının aktif olup olmamasını ayarlar. false
yapılırsa CTRL+X, CTRL+C, CTRL+V gibi kısa yol tuşları
çalışmayacaktır. Aynı şekilde sağ tıklamada açılan
menü de açılmayacaktır.
Özellik Adı
BorderStyle
Alabileceği Değerler:
WordWrap
bool
CharacterCasing
char
int
Color
bool
FixedSingle
Fixed3D
Açıklama
TextBox içindeki yazının hizalanmasını sağlar.
Left
Özellik Adı
Font
bool
Açıklama
TextBox için kenarlıkları ayarlar
None
Özellik Adı
TextAlign
Alabileceği Değerler:
BPR251 Görsel
Programlama I
Center
Right
Açıklama
Metin kutusundaki yazının her bir satırı metin kutusunun genişliğine sığmazsa
kelime kaydır seçeneğinin aktif olup olmadığını kontrol eder.
Alabileceği Değerler:
textBox1.WordWrap =
true;
Özellik Adı
ReadOnly
Alabileceği Değerler:
textBox1.WordWrap =
false;
Açıklama
Metin kutusundaki yazının düzenlenebilir olup olmadığını ayarlar.
textBox1.ReadOnly = true;
6
textBox1.ReadOnly = false;
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
Özellik Adı
ScrollBars
Alabileceği Değerler:
BPR251 Görsel
Programlama I
Açıklama
Kaydırma çubuklarının görünürlüğünü ayarlanır.
None
Both*
Horizontal*
Vertical
* Yatay kaydırma çubuğunun görünebilmesi için WordWrap (kelime kaydır) özelliğinin false olması
gerekmektedir.
Özellik Adı
Açıklama
Girilen yazının şifre gibi girilmesini sağlıyor. Yazıdaki tüm harfleri ayarlanmış
PasswordChar
karakter olarak gösterir.
Alabileceği Değerler: (herhangi bir karakter olabilir.)
textBox1.PasswordChar = (char)0;
textBox1.PasswordChar = '*';
textBox1.PasswordChar = '?';
textBox1.PasswordChar = 'x';
Özellik Adı
AutoCompleteSource
AutoCompleteMode
AutoCompleteCustomSource
Açıklama
Otomatik doldurma seçeneklerini
ayarlamaya yarar.
Otomatik doldurma modunu ayarlar.
Otomatik doldurma seçeneklerini
özel olarak ayarlamaya yarar.
Veri Tipi
AutoCompleteSource
AutoCompleteMode
AutoCompleteStringCollection
Özellik Adı
AutoCompleteSource
Açıklama
Otomatik doldurma seçeneklerini ayarlamaya yarar. Otomatik
doldurma listesini nereden alacağımıza karar vermemize yarar.
Alabileceği Değerler: (herhangi bir karakter olabilir.)
AutoCompleteSource.None
Her hangi bir şeye ayarlama
AutoCompleteSource.AllSystemSources
Sistemin tüm kaynakları
AutoCompleteSource.AllUrl
Tüm url adresleri
AutoCompleteSource.CustomSource*
Özel liste
AutoCompleteSource.FileSystem
Sistem dosyaları
AutoCompleteSource.FileSystemDirectories
Sistem klasörleri
AutoCompleteSource.HistoryList
Geçmiş Listesi
AutoCompleteSource.ListItems**
Liste elemanları
AutoCompleteSource.RecentlyUsedList
Son kullanılan dosyalar
7
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
* CustomSource kullanıldığı zaman AutoCompleteCustomSource özelliğine eklenmiş listedeki elemanlar
kullanılır.
** ListItems genellikle ComboBox nesnesi ile kullanılır.
Özellik Adı
Açıklama
AutoCompleteMode
Otomatik doldurma seçeneklerini ayarlarken, nasıl doldurma
yapacağımızı önerir.
Alabileceği Değerler: (herhangi bir karakter olabilir.)
AutoCompleteMode.None;
Bir şey önermez
AutoCompleteMode.Append
Direkt olarak uyan elemanı yazar
AutoCompleteMode.Suggest
Uyan elemanları önerir
AutoCompleteMode.SuggestAppend
Uyan elemanı yazar ve uyan diğerlerini de önerir.
// otomatik doldurma seçenekleri özel listeye ayarlanıyor.
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
// özel listeden öner ve varsa uyan otomatik doldur
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
// otomatik doldurma listesine bir çok eleman beraber ekleniyor
textBox1.AutoCompleteCustomSource.AddRange(new string[] { "Ankara", "Adana",
"İstanbul", "Bartın", "Karabük", "Rize", "Zonguldak", "Trabzon" });
// otomatik doldurma listesine tek bir eleman ekleniyor
textBox1.AutoCompleteCustomSource.Add("Şanlıurfa");
TextBox lar için en çok kullanılan olay TextChanged olayıdır. TextBox un içine yazılan yazı Text özelliği ile
alınabilir.
string isim = textBox1.Text;
string soyisim = textBox2.Text;
int sayi = int.Parse(textBox5.Text); // eğer textbox5 in içi kesin sayı ise…
txtSifre.TextChanged += new EventHandler(txtSifre_TextChanged);
...
void txtSifre_TextChanged(object sender, EventArgs e)
{
// içindeki yazı değişince burası otomatik olarak çalışır.
// örneğin şifre kontrolü anlık olarak burada yapılabilir.
}
8
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
5. MaskedTextBox
Gelişmiş TextBox denetimi olarak kabul edilebilir. Mask özelliği uygulandığında herhangi bir özel
doğrulama mantığı yazmadan giriş kontrol edilebilir. Sadece nümerik veya alfabetik veya karakter-rakam
sayısı, ya da sadece ascii karakterler gibi veyahut telefon numarası gibi girişi formatlayabilirsiniz.
Programda Name özellikleri kullanılarak anlaşılır isimler verilir. MaskedTextBox lar isimlendirilirken isimleri
genellikle mtxt ile başlar, fakat zorunlu değildir.
Set Mask tıklanarak aşağıda çıkan maskelerden biri kullanılabilir veya kendinize özel bir maske
hazırlayabilirsiniz.
TextBox için geçerli olan çoğu şey MaskedTextBox için de geçerlidir. Ancak MaskedTextBox ta Multiline,
WordWrap, ScrollBars, AccepTab, CharacterCasing gibi özellikler yoktur! Diğer özellikler TextBox ile
aynıdır.
Aşağıdaki örnek maskeler ile birinci giriş telefon numarası için maskelenmiştir. İlk karakter zorunlu olarak 0
diğerleri de zorunlu olarak rakam olacaktır. İkinci giriş ise tarih girişi olarak ayarlanmıştır.
maskedTextBox1.Mask = "\\0(000) 000-00-00";
maskedTextBox2.Mask = "00/00/0000";
Aşağıda en sık kullanılan özellikleri tablo şeklinde verilmiştir.
Özellik Adı
BeepOnError
Mask
AsciiOnly
PropmtChar
9
Açıklama
true yapılınca yanlış bir karakter girmeye çalışılınca beep (uyarı)
sesi verir
Veri girişini maskeleyerek biçimlendirir.
Sadece ascii karakterlerin girişine izin verir
Formatlarken karakterler için boşluk yerine görüntülenecek
karakteri ayarlamaya yarar
Veri Tipi
bool
string
bool
char
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
6. MessageBox
Kullanıcıya mesaj vermek için kullanılır. Show metodu ile beraber kullanılır. Eğer mesaj verilip mesajın
durumuna göre Evet/Hayır/Tamam/İptal/Yeniden Dene/Yoksay gibi butonlardan birine tıklanınca
hangisine tıklandığı bilinmek isteniyorsa geri dönüş değeri DialogResult özelliğinden alınır. Sık kullanılan
Mesaj fonksiyonları aşağıda verilmiştir.
MessageBox.Show("Mesaj Yazısı");
MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı");
MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı", MessageBoxButtons.OKCancel);
MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı", MessageBoxButtons, MessageBoxIcon);
MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı", MessageBoxButtons,
MessageBoxIcon, MessageBoxDefaultButton);
Mesaj Yazısı: istediğiniz bir içerik yazısı yazabilirsiniz.
Mesaj Başlığı: istediğiniz bir başlık yazısı yazabilirsiniz.
MessageBoxButtons: Mesajın altında görüntülenecek butonları kontrol eder.
Alabildiği Değerler:
OK
OKCancel
AbortRetryIgnore
YesNoCancel
YesNo
RetryCancel
:
:
:
:
:
:
Tamam butonu
Tamam , İptal butonları
Durdur , Yeniden Dene, Yoksay butonları
Evet , Hayır , İptal butonları
Evet , Hayır butonları
Yeniden Dene , İptal butonları
MessageBoxIcons: Mesaj kutusunda görüntülenecek ikonu kontrol eder.
Alabildiği Değerler:
10
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
None
Error
Hand
Stop
Question
Exclamation
Warning
BPR251 Görsel
Programlama I
Information
Asterisk
MessageBoxDefaultButton: Varsayılan olarak odaklanmasını istediğiniz buton sırası
Geri Dönüş Değeri: Mesaj kutusu kapatılırken hangi butona tıklandığını geri döndürür.
Geri Dönebilecek Değerler:
OK
Cancel
Abort
Retry
Ignore
Yes
No
:
:
:
:
:
:
:
kullanıcı
kullanıcı
kullanıcı
kullanıcı
kullanıcı
kullanıcı
kullanıcı
“Tamam” butonuna tıklamıştır.
“İptal” butonuna tıklamıştır.
“Durdur” butonuna tıklamıştır.
“Yeniden Dene” butonuna tıklamıştır.
“Yoksay” butonuna tıklamıştır.
“Evet” butonuna tıklamıştır.
“Hayır” butonuna tıklamıştır.
Kullanıcı bu geri dönüş değerlerine göre istediği bir işlemi yapabilir.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace KullaniciKayitFormu
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// isim alanının kenar çizgilerini göster
txtAdı.BorderStyle = BorderStyle.FixedSingle;
// soyadı alanına girilen yazılar otomatik olarak büyük harf olsun
txtSoyadı.CharacterCasing = CharacterCasing.Upper;
// şifre alanında şifre karakteri * olsun.
txtSifre.PasswordChar = '*';
// telefon alanı 0(378)-378-78-78 şeklinde girilsin
mtxtTelefon.Mask = "\\0(000)-000-00-00";
//------------------------------------------------// tamam butonunun görünümü Flat olsun
btnTamam.FlatStyle = FlatStyle.Flat;
// kenarlık rengi kırmızı olsun
btnTamam.FlatAppearance.BorderColor = Color.Red;
// kenarlık kalınlığı 2 olsun
btnTamam.FlatAppearance.BorderSize = 2;
// üzerine mouse ile gidilince portakal rengi olsun
btnTamam.FlatAppearance.MouseOverBackColor = Color.Orange;
// tıklanınca sarı olsun
btnTamam.FlatAppearance.MouseDownBackColor = Color.Yellow;
//-------------------------------------------------
11
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
// memleket alanı için otomatik doldurma seçenekleri özel listemizden olsun
txtMemleket.AutoCompleteSource = AutoCompleteSource.CustomSource;
// memleket alanına otomatik seçilebilmesi için bazı şehirler beraber ekleniyor
txtMemleket.AutoCompleteCustomSource.AddRange(new string[] {
"Ankara", "Adana", "Bartın", "İstanbul", "İzmir",
"Karabük", "Zonguldak", "Rize", "Şanlıurfa"});
// otomatik doldurma seçeneğimiz önersin ve varsa uyan otomatik yazsın
txtMemleket.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
// anlasma metni tıklanınca lnkAnlasmaMetni_Click fonksiyonu çalışsın
lnkAnlasmaMetni.Click += new EventHandler(lnkAnlasmaMetni_Click);
// iptal butonu tıklanınca btnIptal_Click olayı çalışsın
btnIptal.Click += new EventHandler(btnIptal_Click);
// tamam butonu tıklanınca burası çalışsın
btnTamam.Click += new EventHandler(btnTamam_Click);
}
void btnTamam_Click(object sender, EventArgs e)
{
// eğer isim boş bırakılmış ise uyar
if (txtAdı.Text.Trim() == "")
{
MessageBox.Show("İsim veya soyisim boş bırakılamaz", "Boş Bırakma!",
MessageBoxButtons.OK, MessageBoxIcon.Error);
// uyardıktan sonra boş alana odaklan
txtAdı.Focus();
// ve fonksiyondan geri dön.
return;
}
// eğer soyadı boş bırakılmış ise uyar
if (txtSoyadı.Text.Trim() == "")
{
MessageBox.Show("İsim veya soyisim boş bırakılamaz", "Boş Bırakma!",
MessageBoxButtons.OK, MessageBoxIcon.Error);
// uyardıktan sonra boş alana odaklan
txtSoyadı.Focus();
// ve fonksiyondan geri dön.
return;
}
// anlaşma metni okunmuş mu dşye kontrol et.
if (lnkAnlasmaMetni.LinkVisited == false)
{
MessageBox.Show("Lütfen önce anlaşma metnini okuyunuz!", "Anlaşma Metni",
MessageBoxButtons.OK, MessageBoxIcon.Error);
// uyardıktan sonra boş alana odaklan
lnkAnlasmaMetni.Focus();
// ve fonksiyondan geri dön.
return;
}
12
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
7. Hafta
Button, Label, LinkLabel, TextBox, MaskedTextBox,
MessageBox
BPR251 Görsel
Programlama I
// mesaj içeriği yazısını oluştur
string mesaj = "Sayın " + txtAdı.Text + " " + txtSoyadı.Text +
"\nKaydınız başarılı bir şekilde alınmıştır.\n" +
"Yeni bir kayıt yapmak istiyor musunuz?";
// mesaj ver
DialogResult dr = MessageBox.Show(mesaj, "Kayıt Onay",
MessageBoxButtons.YesNo,
MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1);
// mesaj sonucu Yes ise alanları yeniden yazmak için temizle
if (dr == DialogResult.Yes)
{
txtAdı.Clear();
txtSoyadı.Clear();
txtSifre.Clear();
txtMemleket.Clear();
mtxtTelefon.Clear();
}
else
Close(); // değilse formu kapat.
}
// iptal butonu tıklanınca burası çalışacak
void btnIptal_Click(object sender, EventArgs e)
{
Close(); // formu kapatır
}
// burası anlaşma metni tıklanınca çalışacak
void lnkAnlasmaMetni_Click(object sender, EventArgs e)
{
// verilmiş internet sitesini aç
System.Diagnostics.Process.Start(@"http:\\bmyo.bartin.edu.tr\akgul");
// anlaşma metnini aç
System.Diagnostics.Process.Start(@"C:\Users\");
// tıklanınca link ziyaret edildi durumunu true yap
lnkAnlasmaMetni.LinkVisited = true;
}
}
}
13
Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi

Benzer belgeler

SDÜ Eğitim Öğretim Bilgi Sistemi Ders İçeriği

SDÜ Eğitim Öğretim Bilgi Sistemi Ders İçeriği Try-catch-finally blokları kullanılarak hata oluĢturmaya müsait komutlar bu bloklara yazılırlar. Hataya müsait iĢlemler try bloğu içine yazılır. Eğer hata meydana gelirse catch bloğuna yazılan kod ...

Detaylı