C#’ta Uzak Masaüstü Nesnesindeki Pano Özelliğini Kapatmak

C# Uzak Masaüstü Nesnesinde Panoyu Kapatmak için ne yazık ki var olanlar RDP nesnelerinin hiçbirinden yararlanamadım.  Sürücülere erişim, akıllı kart, vb. tüm özellikler var ama ne yazık ki panoyu kullan yok! Ya da ben bulamadım! =] Ben de kendimce kolay bir çözüm üreteyim dedim… =]

Yalnızca iki satırla bu işi bitireceğiz! İlk yapmamız gereken bir Timer’ı Uzak Masaüstü’nü kullanacağımız Form’a eklemek ve Form’un Load olayıyla beraber Timer’ı enabled etmek. Bundan sonrası için Timer’ın Interval’ini 1000 yapmak ve Tick olayına şu kodu yazmak:

Clipboard.Clear();

Evet, gayet basit! =] Her on saniyede bir uzak masaüstünden yapılabilecek kopyalama işlemlerini dolaylı olarak engellemiş olacak! =]

Daha iyi öneriler ve çözümlere açığım. Haydi kolay gelsin.

C#’ta İşi Kolaylaştıran Operatörler (?? ve ?:)

C#’ın tüm operatörlerinin olduğu MSDN sayfasına aşağıdaki bağlantıdan gidebilirsiniz:

http://msdn.microsoft.com/en-us/library/6a71f45d.aspx

Benim özellikle değinmek istediğim operatörler ? ve ?: operatörleri.

Örneğin bir if sorgusuyla girilen bir sayının ikinin katı olup olmadığına bakalım:

if (Convert.ToInt32(txtGirilenSayi.Text) % 2 == 0) MessageBox.Show(“girdiğiniz sayı ikinin katı”);
else MessageBox.Show(“girdiğiniz sayı ikinin katı değil”);

Burada eğer girilen sayının ikiye bölümünden kalan sıfırsa, yani ikiye tam bölünüyorsa ikinin katı olduğunu, değilse ikinin katı olmadığını ekrana yazdırdık. Peki bunu söz konusu operatörlerle nasıl yaparız? Şöyle:

int girilensayi = Convert.ToInt32(txtGirilenSayi.Text);
string sonuc = (girilensayi % 2 == 0) ? “ikinin katı” : “ikinin katı değil”;
MessageBox.Show(sonuc);

Parantezin içindeki değerin sonucu değer true ise, soru işaretindne sonraki ilk bölüm, false ise ikinci bölüm çalışacaktır. Bu operatörümüz ?: operatörü olarak bilinir.

Gelelim  ??  operatörüne:

int? personelMaasi = null;
int girilensayi = Convert.ToInt32(txtGirilenSayi.Text);
if (girilensayi > 5) personelMaasi = 1000;
int personelHakEdisi = personelMaasi ?? 0;
MessageBox.Show(“Hak ettiğiniz maaş: ” + personelHakEdisi.ToString() + ” Lira”);

Burada dikkat edilmesi gereken yer int? ile tanımlama yapılması. Eğer bu tanımlamayı yapmazsanız operatörün mantıksal karşılaştırma yapması mümkün olmaz. Yani kısaca kullanamaz; hata alırız. Asıl amacımız kod içinde tanımlaması yapılan ama değer girilmemiş olma olasılığı bulunan bir değişkeni kullanmaya kalktığımızda hata çıkmasını engellemek. Eğer personelMaasi değişkeni girilenSayi 5ten büyük olmasaydı 0 değerini alacaktı. Çünkü int personelHakEdisi = personelMaasi ?? 0;  satırındaki ??, personelMaasi null’sa 0 değerini personelHakEdisi’ne yazıyor. Şimdi “o zaman null vermeyiz, 1 verirz geçeriz” diyebilirsiniz. =] Elbette burada null senaryo gereği yazıldı. İsterseniz personelMaasi’nın değerini 250 yapıp işlem satırına geldiğinizde halen 250 ise 0 olsun şeklinde de kullanabilirsiniz.

Haydi kolay gelsin.

Visual Studio’da Publish Sorunu – SignTool reported an error – The signer’s certificate is not valid for signing

SignTool reported an error – The signer’s certificate is not valid for signing sorunu, Visual Studio’nun publish ederken kullandığı pfx dosyasının (key) süresinin geçmesinden kaynaklanır. Bu sorunu çözmek için yeni bir sertifika oluşturmak yeterli olacaktır. Eğer isterseniz, sertifika kullanmayabilirsiniz.

Proje’nin üzerinde özellikler deyip; Signing kısmına gelelim. Burada ClickOnce manifest’in altındaki listbox’da sertifika görünecektir. Eğer kullanmak istemiyorsanız “Sign the ClickOnce manifest” Checkbox’ının işaretini kaldırın ya da da Create Test Certificate diyerek yeni bir sertifika oluşturun.

Haydi kolay gelsin.

C Sharp (C#) İçin Ücretsiz Türçe Kaynak

C Sharp (C#) İçin Ücretsiz Türçe Kaynak VikiKitap’ta bulunuyor. Bekir OFLAZ adlı bir arkadaşımın emeğidir. Aşağıdaki linkten ulaşabilirsiniz.

C Sharp (C#) İçin Ücretsiz Türçe Kaynak

C# – ASP.NET Excel 2010’a Aktarım

C# – ASP.NET Excel 2010’a Aktarım için sağlayıcıyı OLEDB.12.0 olarak seçmeniz gerekiyor. Türkçe sitelerde bulunmadığı için yazma gereği duydum.

Provider=Microsoft.ACE.OLEDB.12.0;

C# – ASP.NET – Failure Sending Mail Hatası

C# ya da ASP.NET’te e-posta gönderme işlemi sırasında “Failure Sending Mail” hatasının olası alınma sebebi SMTP portunun tanımlanmamış olmasıdır. Eposta sunucuları genellikle giden portu olarak 587 portunu kullanırlar. Öncelikle 587 portunu yazmayı deneyebilirsiniz. Ayırca diğer bilinmesi gereken, Türk Telekom ADSL tarafında 25 portunun giden portu olarak kullanılmasını engellediğidir. Eğer 25 portu kullanmanız gerekiyorsa ve hat ADSL hattıysa, ya TT tarafında açtırmalı yada portu değiştirmelisiniz.

SMTP.Port = 587;

Eposta gönderimi hakkında bilgiye buradan ulaşabilirsiniz.

C# TextBox’ta Özel Karakter Yazılmasını Engellemek (Handle Special Character)

C# TextBox’ta Özel Karakter Yazılmasını Engellemek (Handle Special Character) için Key_Press olayına

e.Handled = Char.IsPunctuation(e.KeyChar);

yazmak yeterli olacaktır.

%d blogcu bunu beğendi: