Görsel Programlama 2024-2025 Final
Kaynak: https://lolonolo.com/2026/03/08/gorsel-programlama-2024-2025-final-sorulari/
📖 Konu özeti (sınav öncesi tekrar)
Görsel Programlama 2024-2025 Final Soruları
Görsel Programlama 2024-2025 Final Soruları
WinForms Arayüz Bileşenleri ve Tasarım Mimarisi
Windows Forms (WinForms) ekosistemi, masaüstü uygulaması geliştirmede görsel öğelerin ve arka plan mantığının mükemmel uyumunu gerektirir. Bir formun kullanıcıyla kurduğu en temel iletişim noktalarından biri, genellikle alt tarafa eklenen ve işlemlere dair anlık geri bildirim sağlayan StatusStrip kontrolüdür. Tasarım aşamasında ise hiyerarşik yapı kritik önem taşır; örneğin bir PictureBox içindeki resmin, kontrolün sınırlarına göre tam olarak yayılması isteniyorsa StretchImage modu tercih edilir. Formun çalışma anındaki konumu veya boyutları gibi bölge bazlı değişiklikler yaşandığında ise sistem otomatik olarak RegionChanged olayını tetikler.
Yazılımın geliştirme sürecinde, Visual Studio içerisinde projelerin dosya yapısını, formların tasarım (.Designer.cs) ve kod (.cs) dosyalarını yönettiğimiz panel Çözüm Gezgini (Solution Explorer)’dir. Görsel bileşenlerin koordinat, boyut ve renk gibi tüm yapılandırma kodları ise sistem tarafından Form1.Designer.cs dosyasına kaydedilir. Bu ayrım, arayüz tasarımı ile iş mantığının birbirine karışmasını engeller.
Gelişmiş Veri Yönetimi: DataGridView ve DataTable
Karmaşık veri setlerini kullanıcıya sunmak ve manipüle etmek için DataGridView en güçlü araçtır. Kullanıcının tek bir hücre yerine, tıkladığı herhangi bir hücrenin bulunduğu tüm satırı seçebilmesi için SelectionMode özelliği FullRowSelect olarak ayarlanır. Ayrıca, kullanıcıya aynı anda birden fazla veri grubunu seçme yetkisi vermek için MultiSelect özelliği aktif edilmelidir. Verilerin ComboBax gibi listelerde yönetilmesinde ise seçili öğenin listedeki sıra numarasını elde etmek için SelectedIndex mülkiyeti kullanılır.
Veri yapısı tarafında, bellek üzerinde tablo mantığıyla çalışan DataTable nesneleri kullanılır. Bu tablolardaki verilere benzersizlik, boş geçilemezlik veya ilişkisel kısıtlar koymak için Constraints koleksiyonuna başvurulur. Bu kısıtlar, veri girişinde oluşabilecek mantıksal hataları uygulama seviyesinde engeller.
Dosya Sistemi, Sürücü İşlemleri ve İstisna Yönetimi
Görsel programlama sadece arayüzden ibaret değildir; işletim sistemiyle kurulan bağ da oldukça kuvvetlidir. Bilgisayarda takılı olan tüm mantıksal sürücülerin (C:, D:, USB vb.) listesine erişmek için DriveInfo.GetDrives() statik metodu kullanılır. Dosya işlemleri sırasında bir dosyanın mevcut uzantısını yenisiyle değiştirmek için (örneğin .txt’yi .rtf yapmak) Path.ChangeExtension fonksiyonu devreye girer. Bir metin kutusu (TextBox) içindeki veride belirli bir kelimenin varlığını sorgulamak için ise Contains metodu en pratik çözümdür.
Hata yönetimi tarafında, dosya ve dizin işlemleri en çok hata üretilen alanlardır. Eğer kodun erişmeye çalıştığı klasör yolu fiziksel olarak mevcut değilse, sistem DirectoryNotFoundException istisnasını fırlatır. Bu tip durumlarda try-catch blokları kullanılarak uygulamanın çökmesi engellenir.
Kurulum ve Yayınlama (Deployment) Teknikleri
Geliştirilen uygulamanın son kullanıcıya profesyonel bir şekilde ulaştırılması için kurulum paketleri hazırlanır. Gelişmiş bir MSI veya Setup dosyası oluşturmak için Visual Studio’ya Microsoft Visual Studio Installer Projects uzantısının dahil edilmesi şarttır. Hazırlanan kurulumun bilgisayardaki tüm kullanıcılar için geçerli olması isteniyorsa, projenin InstallAllUsers özelliği True olarak yapılandırılır. Web tabanlı veya daha hızlı bir dağıtım yöntemi olan ClickOnce teknolojisi için ise Derle -> Seçimi Yayımla yolu izlenerek süreç tamamlanır.
Görsel Programlama 2024-2025 Final Soruları
Görsel Programlama 2024-2025 Final Soruları
string yeni_uzanti = Path.________(dosya,
“.rtf”);
Yukarıda verilen kodda dosyanın uzantısını değiştirmek için boş bırakılan yerde kullanılması gereken metod aşağıdakilerden hangisidir?
Path.ChangeExtension(dosya, ".rtf") dosya yolundaki uzantıyı verilen uzantıyla değiştirir; sonuç deneme.rtf olur. GetExtension uzantıyı okur, HasExtension uzantı olup olmadığını kontrol eder, GetFileName ise dosya adını döndürür.

Yukarıda verilen PictureBox kontrolünde yer alan resmin, kontrolün boyutlarına göre uzatılması için aşağıdaki kod satırından hangisi kullanılmalıdır?
PictureBoxSizeMode.StretchImage resmi, kontrolün boyutlarına tam oturacak şekilde uzatır/sıkıştırır (en-boy oranı bozulabilir). Zoom oranı koruyarak sığdırır, CenterImage ortalar, AutoSize ise kontrolü resmin boyutuna göre ayarlar.
Visual Studio'da ClickOnce ile kurulum dosyası oluşturmak için Derle (Build) menüsündeki 'Seçimi Yayımla' (Publish Selection) komutu kullanılır. Bu komut yayımlama sihirbazını açarak uygulamanın kurulum paketini hazırlar.
Diğer stiller:
Continuous → kesintisiz dolan bar.
Blocks → blok blok dolan bar.
RightToLeft → dolum yönünü değiştirir.
PerformStep() → mevcut değeri artırır, animasyonlu gösterim sağlamaz.
Diğer seçenekler:
Dosya bulunamadığında → FileNotFoundException
Sürücü bulunamadığında → DriveNotFoundException
Akışın sonuna gelindiğinde → EndOfStreamException
Arabellekte taşma → BufferOverflowException

Yukarıda verilen C# kodunda, TextBox kontrolündeki mevcut içerikte aranılan bir değerin varlığını kontrol etmek için aşağıdaki metotlardan hangisi kullanılır?
Contains metodu, bir string'in belirtilen alt metni içerip içermediğini kontrol eder ve true/false döndürür; örneğin textBox1.Text.Contains("aranan"). Select ve Focus ise metin seçme ve odaklanma işlemleri içindir.
Diğer karakterler:
0 → zorunlu rakam
L → zorunlu harf
? → isteğe bağlı harf
$ → özel karakter veya para birimi sembolü

Yukarıda verilen kod satırının işlevi aşağıdaki seçeneklerin hangisinde doğru verilmiştir?

Yukarıda verilen C# kodunda aşağıdaki hangi form olayına yer verilmemiştir?
es();
Yukarıdaki kod satırının işlevi aşağıda verilen seçeneklerin hangisinde doğru ifade edilmiştir?