• Giriş

Gorsel Programlama

  • AnaSayfa
  • Hakkımızda
  • TOP-10 Proje
  • Download
  • Özel Ders
  • Reklam Verin
  • Destek
  • İletişim
RSS feed
  • Youdao
  • Xian Guo
  • Zhua Xia
  • Google
  • My Yahoo!
  • newsgator
  • Bloglines
  • iNezha
© 2009-2024 Gorsel Programlama

C# “FormBorderStyle None” olan Formu Taşıma ve Ellipse Form

C# “FormBorderStyle None” olan Formu Taşıma ve Ellipse Form

Daha fazlası için: gorselprogramlama.com

 

Merhaba ben Abdurrahman ÖNDER. Bilindiği gibi formBorderStyle eğer none ise form ekranı taşınmaz ve form ekranımız dikdörtgen şeklindedir. Bu programımızda amacımız tam da bu. Herhangi bir Windows Formumuzun FormBorderStyle özelliğinin none olması halinde formu mouse ile istediğimiz yere sürükleyebilmek ve kenarlarını daha oval yapmak.

 

-Form Ekranını taşımak için-

İlk olarak bir adet windows form applikasyonu açalım ve Form1 ekranımızın FormBorderStyle özelliğini none yapalım. Ardından form ekranımıza bir adet label ekleyelim.

Üç adet değişken tanımlayalım:

private bool dragging = false;//Sürükleme özelliğimiz
private Point dragCursorPoint;
private Point dragFormPoint;

Form1 elemanımızın olaylar kısmındaki Form1_MouseDown,Form1_MouseMove ve Form1_MouseUp olaylarına çift tıklayalım. Aynı olayları label içinde tanımlayalım. Çünkü label’e üzerine tıklayıp da taşınması gerekmekte.

private bool dragging = false;
private Point dragCursorPoint;
private Point dragFormPoint;
private void Form1_MouseDown(object sender, MouseEventArgs e)
//Tıkladığımızda mouse tuşu aşağı doğru hareket edince gerçekleşir.
 {
 dragging = true;
 dragCursorPoint = Cursor.Position;
 dragFormPoint = this.Location;
 }

 private void Form1_MouseMove(object sender, MouseEventArgs e)
//Mouse hareket ederse gerçekleşecek ifadeler. Biz basılı iken hareket etmesi için dragging tanımladık.
 {
 if (dragging)
 {
 Point dif = Point.Subtract(Cursor.Position, new Size(dragCursorPoint));
 this.Location = Point.Add(dragFormPoint, new Size(dif));
 }
 }

 private void Form1_MouseUp(object sender, MouseEventArgs e)
//Mouse tuşu yukarı kalktığında gerçekleşecek ifademiz. 
{
 dragging = false;
 }

 

 

-Form Kenarlarını Oval Yapmak İçin-

Burada da Gdi32.dll adlı dll’yi formumuza import ediyoruz. Ardından kenar özellikleri için tanımlamamız gereken değişkenler ve metodumuz var. Onları yazalım. Sonrada public Form1() olayı içine metodumuzu ekleyelim.

[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
 private static extern IntPtr CreateRoundRectRgn
 (
 int nLeftRect, // sol üst köşenin x koordinatı
 int nTopRect, // sol üst köşenin y kordinatı
 int nRightRect, // sağ alt köşenin x kordinatı
 int nBottomRect, // sağ alt köşenin y kordinatı
 int nWidthEllipse, // height of ellipse
 int nHeightEllipse // elipsin genişliği
 );
public Form1()
 {
 InitializeComponent();
 Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 40, 40));
//40,40 yaparsanız eşit derecede oval olur. Ancak istediğiniz sayıyı da verebilirsiniz. 
}

 

 

-Projenin tam hali-


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;//Dll İmport etmek için eklenmeli.
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{

private bool dragging = false;
private Point dragCursorPoint;
private Point dragFormPoint;

[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
private static extern IntPtr CreateRoundRectRgn
(
int nLeftRect,
int nTopRect,
int nRightRect,
int nBottomRect,
int nWidthEllipse,
int nHeightEllipse
);
public Form1()
{
InitializeComponent();
Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 40, 40));
}

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
dragging = true;
dragCursorPoint = Cursor.Position;
dragFormPoint = this.Location;
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point dif = Point.Subtract(Cursor.Position, new Size(dragCursorPoint));
this.Location = Point.Add(dragFormPoint, new Size(dif));
}
}

private void Form1_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}
}
}

 

Faydalı olabildiysem ne mutlu bana. Her türlü fikir ve ödev için mail(abdurrahman.onder@ogr.sakarya.edu.tr) atabilirsiniz.

Projeyi İndirmek İçin Tıklayınız.

Daha fazlası için: gorselprogramlama.com

Paylaş :
Tweet
Yorum Yazın | Geri
11 Aralık Çarşamba,2019 Tarihinde Yayınlanmıştır. Bulunduğu Kategori : C#, Dersler, Görsel Programlama, Programlama Tanım
Etiket:
« C# Konsol Uygulaması ile Piramit Çizdirme 2019-2020 öğretim yılı web tasarımı ve programlama dersi 1.dönem 2. uygulama sınav soruları ve cevapları »
  1. hasanrö
    Cevap | Gönder
    Ara 31st, 2019 at 09:46 | #1

    Yardımcı olduğunuz için teşekür ederiz…Sizin gibi kod sever gönülü arkadaşların çoğalması gerekiyor. :)))

Yorum Yazın ...

Cevabı İptal
XHTML: Bu Etiketleri Kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
RSS Bu Yazıya Yapılan Yorumlar


Site içi Arama

Takip et: @GorselProgram







Böyle bir web sayfam olsun diyorsanız iletişim bölümünden veya gorselprogram@gmail.com mail adresinden bize ulaşabilirsiniz.

Son Yazılar

  • 2023-2024 öğretim yılı nesne tabanlı programlama dersi 2.dönem 2. yazılı ve uygulama sınav soruları ve cevap anahtarı
  • 2023-2024 öğretim yılı nesne tabanlı programlama dersi 2.dönem 1. yazılı ve uygulama sınav soruları ve cevap anahtarı
  • 2023-2024 öğretim yılı nesne tabanlı programlama dersi 1.dönem 2. yazılı ve uygulama sınav soruları ve cevap anahtarı
  • 2023-2024 öğretim yılı nesne tabanlı programlama dersi 1.dönem 1. yazılı ve uygulama sınav soruları ve cevap anahtarı
  • 2023-2024 öğretim yılı bilgisayar tasarım uygulamaları dersi 1.dönem 1.sınav soruları ve cevap anahtarı

Etiket Bulutu

.NET Application basit C# C#.NET application C#.NET codes C#.NET examples C#.NET lessons C#.NET practice C#.net örnekleri c# console dersleri c# console örnekleri C# ders c# dersleri c# örnek c# örnekleri C.net dersleri c dersleri code console console örnekleri Csharp csharp dersleri csharp net csharp örnekleri c örnekleri download Flash örnekleri forms Forms örnekleri full indir kod kodlar nesne tabanlı programlama OleDbConnection OleDbDataAdapter tam sürüm uygulama vb net win windows windows forms application örnek ücretsiz

Kategoriler

  • Access (59)
  • Akış Diyagramı Flowchart (69)
  • Android Eğitimleri (2)
  • Asp Net (47)
  • C# (834)
  • C# Console (222)
  • Css (19)
  • Dersler (191)
  • Dökümanlar (21)
  • Dreamweaver (12)
  • Excel (8)
  • Fireworks (28)
  • Flash (77)
  • Görsel Programlama (421)
  • GorselProgramlama.Com (8)
  • Html (35)
  • Pascal (2)
  • Photoshop (5)
  • PHP (2)
  • Planlar (114)
  • Programlama Tanım (4)
  • Sınavlar (147)
  • Sql (10)
  • VB 6.0 (45)
  • VB.NET (219)
  • Videolar (65)
  • Word (7)

Arşiv

Bağlantılar

  • Html Dersleri
  • Muslu.NET
  • Programlama Dersleri

Kimler Sitede ?


    Computers Blogs Top programming blogs

   sayaç Powered by WordPress | Theme by NeoEase | Valid XHTML 1.1 and CSS 3 Yukarı