Final 2024-2025 20 soru

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ı

20 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
WinForms uygulamalarında, formun alt tarafına durum çubuğu eklemek için kullanılan form kontrolü aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
StatusStrip kontrolü, bir Windows formunun genellikle en alt kısmında yer alan ve kullanıcıya uygulamanın o anki durumu hakkında bilgi veren bir “durum çubuğu” (status bar) oluşturur. İçerisine metin gösterimi için StatusLabel, işlem ilerlemesini göstermek için ProgressBar gibi çeşitli öğeler eklenebilir. FlowLayoutPanel kontrolleri akışkan dizmek, ToolStrip araç çubukları oluşturmak, ToolTip ise nesnelerin üzerine gelindiğinde bilgi kutucuğu çıkarmak için kullanılır.
Soru 2
Setup Project (Kurulum Projesi) ile uygulamanın kurulum dosyasını oluşturmak için Visual Studio editörüne kurulması gereken uzantı aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
Visual Studio varsayılan kurulumunda gelişmiş “setup” projeleri oluşturma özelliğiyle gelmez. Geliştirdiğiniz masaüstü uygulamalarını bir “.msi” veya “setup.exe” dosyası haline getirerek dağıtmak (dağıtım/deployment) istiyorsanız, Visual Studio Marketplace üzerinden “Microsoft Visual Studio Installer Projects” uzantısını indirip kurmanız gerekir. Bu uzantı sayesinde kurulum adımları, dosya yolları ve kayıt defteri ayarları gibi parametreler yapılandırılabilir.
Soru 3
Uygulamada yer alan projeler, projelere ait formların tasarım ve kod dosyaları Visual Studio editöründe aşağıdaki hangi ekran, pencere veya panelde listelenir?
BDoğru cevap
Açıklama
Çözüm Gezgini (Solution Explorer), bir projenin dosya hiyerarşisini gösteren ana yönetim panelidir. Proje içindeki referanslar, form dosyaları (Form1.cs, Form1.Designer.cs), resimler ve konfigürasyon dosyaları burada listelenir. Araç Kutusu (Toolbox) görsel nesneleri barındırırken, Özellikler Paneli (Properties Window) seçili nesnenin ayarlarını değiştirmek için kullanılır.
Soru 4
Setup Project yöntemiyle uygulamanın sistemdeki tüm kullanıcılara kurulması için aşağıdaki özelliklerden hangisi True olarak ayarlanmalıdır?
CDoğru cevap
Açıklama
Bir kurulum (Setup) projesinin özellikler (Properties) kısmında yer alan “InstallAllUsers” seçeneği, hazırlanan yazılımın bilgisayardaki sadece kurulumu yapan kullanıcıya mı yoksa o bilgisayarı kullanan “herkese” mi kurulacağını belirler. Bu değer “True” yapıldığında, uygulama “Program Files” gibi merkezi dizinlere kurulur ve tüm kullanıcı oturumlarında erişilebilir hale gelir.
Soru 5
string dosya = @”deneme.txt”;
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?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

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.

Soru 6
Görsel Programlama 2024-2025 Final Soruları 6. SORU
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?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

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.

Soru 7
ClickOnce ile uygulamanın kurulum dosyasını oluşturmak için Visual Studio editöründe aşağıdaki menü yollarından hangisi izlenmelidir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

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.

Soru 8
DataTable veri yapısında veriye kısıt koymak için aşağıdaki özelliklerden hangisi kullanılmalıdır?
CDoğru cevap
Açıklama
Constraints, DataTable içindeki verilere kurallar (ör. benzersizlik, boş olamaz, ilişki) koymak için kullanılır.
Soru 9
Aşağıdaki kod satırından hangisi ProgressBar kontrolünün animasyonlu gösterilmesi için kullanılır?
ADoğru cevap
Açıklama
Marquee stili, ProgressBar’ın animasyonlu olarak hareket etmesini sağlar ve genellikle işlem süresi belirsiz olduğunda kullanılır.
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.
Soru 10
DirectoryNotFoundException istisnası aşağıdaki durumlarından hangisi oluştuğunda meydana gelir?
ADoğru cevap
Açıklama
DirectoryNotFoundException, belirtilen klasör yolu bulunamadığında meydana gelir.
Diğer seçenekler:
Dosya bulunamadığında → FileNotFoundException
Sürücü bulunamadığında → DriveNotFoundException
Akışın sonuna gelindiğinde → EndOfStreamException
Arabellekte taşma → BufferOverflowException
Soru 11
Görsel Programlama 2024-2025 Final Soruları 11. SORU
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?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

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.

Soru 12
WinForms uygulamalarında, menülere klavye kısayolu eklemek için kullanılan özellik aşağıdaki seçeneklerin hangisinde verilmiştir?
ADoğru cevap
Açıklama
ShortcutKeys özelliği, WinForms menü öğelerine klavye kısayolu atamak için kullanılır. Böylece kullanıcı menüyü fareye gerek kalmadan belirlenen tuş kombinasyonu ile çalıştırabilir.
Soru 13
Aşağıda verilen olaylardan hangisi formun ekrandaki konumu veya boyutları değiştiğinde tetiklenir?
ADoğru cevap
⚠️ Cevap anahtarı tartışmalı: Formun konumu değiştiğinde LocationChanged, boyutu değiştiğinde SizeChanged/Resize tetiklenir; RegionChanged Region özelliği değiştiğinde tetiklenir. Anahtar (A) şüpheli.
Soru 14
MaskedTextBox kontrolünde kullanıcının isteğe bağlı rakam veya boşluk girmesi için kullanılan maske karakteri aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
9 maskesi, MaskedTextBox’ta kullanıcının rakam girmesini isteğe bağlı yapar; yani rakam girebilir veya boş bırakabilir.
Diğer karakterler:
0 → zorunlu rakam
L → zorunlu harf
? → isteğe bağlı harf
$ → özel karakter veya para birimi sembolü
Soru 15
Görsel Programlama 2024-2025 Final Soruları 15. SORU
Yukarıda verilen kod satırının işlevi aşağıdaki seçeneklerin hangisinde doğru verilmiştir?
EDoğru cevap
Açıklama
FullRowSelect seçeneği, DataGridView’de bir hücreye tıklandığında o hücrenin bulunduğu satırın tamamının seçilmesini sağlar. Tek hücre veya sütun seçimi yerine, tüm satır vurgulanır.
Soru 16
Görsel Programlama 2024-2025 Final Soruları 16. SORU
Yukarıda verilen C# kodunda aşağıdaki hangi form olayına yer verilmemiştir?
EDoğru cevap
Soru 17
DriveInfo[] suruculer = DriveInfo.GetDriv
es();
Yukarıdaki kod satırının işlevi aşağıda verilen seçeneklerin hangisinde doğru ifade edilmiştir?
BDoğru cevap
Açıklama
`DriveInfo.GetDrives()` statik metodu, bilgisayarda o an takılı olan tüm mantıksal sürücüleri (C:, D:, USB bellekler vb.) tarar ve bunları bir `DriveInfo[]` dizisi olarak geri döndürür. Bu dizi üzerinden her bir sürücünün boş alanı, toplam boyutu ve dosya formatı gibi bilgilere erişilebilir.
Soru 18
ComboBox kontrolünde seçili elemanın indisi aşağıdaki hangi özellik ile elde edilir?
BDoğru cevap
Açıklama
SelectedIndex özelliği, ComboBox listesinde seçilen elemanın sıfırdan başlayan sıra numarasını (indis) döndürür. Eğer hiçbir eleman seçili değilse “-1” değerini döndürür. SelectedItem özelliği ise indis numarasını değil, seçili olan nesnenin (verinin) kendisini döndürmek için kullanılır.
Soru 19
Bir WinForms projesinde görsel bileşenlere ait kodlar aşağıdaki dosyalardan hangisinde yer alır?
CDoğru cevap
Açıklama
Visual Studio’da sürükle-bırak yöntemiyle form üzerine eklediğiniz nesnelerin koordinatları, renkleri ve boyutları gibi tüm görsel yapılandırma kodları arka planda otomatik olarak “Form1.Designer.cs” dosyasına kaydedilir. Geliştiricinin kendi mantıksal kodlarını yazdığı dosya ise “Form1.cs” dosyasıdır.
Soru 20
Kullanıcının dataGridView1 isimli kontrolde birden fazla hücre, satır veya sütunu seçebilmesi aşağıdaki kod satırlarından hangisiyle sağlanır?
CDoğru cevap
Açıklama
MultiSelect özelliği, DataGridView’de birden fazla hücre, satır veya sütunun aynı anda seçilmesini sağlar. true yapıldığında kullanıcı Ctrl veya Shift tuşlarıyla çoklu seçim yapabilir.