Arkadaşlar, yapmaya çalıştığım şey, tek bir proje içindeki 5-6 adet formlar arasında butonlarla geçiş sağlamak.
Form1.ActiveForm.Hide(); Form2 form2 = new Form2(); form2.Show();
Bu kodları kullandım ancak bu şekilde yapınca gizlediğim formlara bir daha erişemiyorum. Başka bir yolu var mı?
Bu işlem için global bir modül kullanmanı tavsiye ederim...
class1.cs
formları glabal class içinde deklare ettikten sonra close yapıp. istediğin formu görünür kılabilirsin... Csharpta form üzerinde bu tür basit işlemleri yapamamak gerçektende bazı yerlerde can sıkıcı olabiliyor...
İyi Çalışmalar...
quote:
Orjinalden alıntı: Aspci79
Bu işlem için global bir modül kullanmanı tavsiye ederim...
class1.cs
formları glabal class içinde deklare ettikten sonra close yapıp. istediğin formu görünür kılabilirsin... Csharpta form üzerinde bu tür basit işlemleri yapamamak gerçektende bazı yerlerde can sıkıcı olabiliyor...
İyi Çalışmalar...
Bu söylediğini nasıl yapabilirim? Diyelim ki global class içinde şu satırlar olsun;
Form1 form1 = new Form1(); Public Static Form2 form2 = new Form2(); Public Static Form3 form3 = new Form3(); Public Static Form4 form4 = new Form4(); Public Static form1.show();
Ve diyelim ki açılan formda bir butona atanmış şu satırlar var;
Form1.ActiveForm.Hide(); form2.show();
Görüldüğü gibi ikinci satırda tekrar form2'yi çağırmam lazım ancak değişkene erişemiyorum. Her ne kadar global sınıftaki tüm nesneleri static ve public tanımlamış olsam da görünmüyor. Global sınıftaki nesneleri diğer sınıflara göstermenin başka bir yolu var mı? Mesela global sınıftaki nesneleri form sınıflarının başında bi şekilde import edebilir miyim?
ben de aynı sorunla karşılaştım
formlar.cs dosyasını şu şekilde oluşturdum:
using System; namespace WindowsApplication2 { public class formlar { public static Form1 form1=new Form1(); public static Form2 form2=new Form2(); } }
ardından Form1'deki butonun click olayına şunları ekledim:
formlar.form1.Hide(); formlar.form2.Show();
bu durumda kod hatasız derleniyor fakat butona tıklanıldığında form1 gizlenmeden form2 açılıyor halbuki formlar.form1.Hide(); demiştim, gizlenmesi gerekmez miydi?
ayrıca, butona tıklandığında form2 açılsın, ancak form1 gizlenmesin (tamamen sonlansın) istiyorum bunu nasıl yapabiliriz?
Form2 yeniform = new Form2(); yeniform.Show();
// yada
yeniform.ShowDialog();
quote:
Orjinalden alıntı: _conscript_
Form2 yeniform = new Form2(); yeniform.Show();
// yada
yeniform.ShowDialog();
cevabınız için teşekkürler ancak bu sadece form2'nin de açılmasını sağlar bence ben form2 açılırken form1'in kapanmasını istiyorum
Form2 yeniform = new Form2(); yeniform.Show(); this.Close(); Bu şekilde
konu 2007 de açılmış ama kimse doğru cevap vermemiş :)
burdakiler olmadı biraz uğraştan sonra sorunum çözüldü paylaşıyorum lazım olanlara
this.Visible = false; //ana formumuz gizleniyor Form2 userform = new Form2(); //formu oluşturuyoruz userform.ShowDialog(); // oluşturduğumuz form gösteriliyor this.Visible = true; //showdialog kullandığımız için bu bölüm gösterdiğimiz form kapananınca çalışıyor ve ana formumuz ekrna geliyr this.BringToFront(); // son olarak ana formumuzu diğer pencereler varsa ön plana alıyoruz.
Kralsın "konti73" işe yaradı :D Bende bişi sormak istiyorum sql connection bağlantısını bir türlü beceremedim intden araştırdım ama malesef olmuyor. Bunlarda kodlarım acaba nerede yanlış yaptım ? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient;
namespace Filmarsivi2 { public partial class Form1 : Form { string filmadi; string yonetmeni; string oyunculari; string gosterimt; string kayitt;
this.Hide();//gizle this.Show();//göster fakat burda this.Show() u nereye yazdığınızda önemli tabiki formun içinde bir button un click eventine yazarsanız erişemezsiniz(Hide dan sonra); Ama mesela; private void Button1_Click(Object sender, EventArgs e) { this.Hide(); this.Show(); } yaptığınızda formun gizlenip tekrar geldiğini göreceksiniz.
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=fatih.mdb;"); string ara = "insert into nalbur_musteri (isim,tel,adres) values ('"+ismi.Text+"','"+teli.Text+"','"+adresi.Text+"')"; OleDbDataAdapter sadp = new OleDbDataAdapter(ara,connect); DataSet ds = new DataSet(); connect.Open(); sadp.Fill(ds); connect.Close(); MessageBox.Show(ismi.Text +" Adlı Kayıt Eklendi","Bildirim Mesajı");
arkadaşlar bu kodu uyguladığım zaman veritabanına kaydetmiyor..C# ta biraz yeniyim yardımcı olursanız çok sevinirim..
quote:
Orijinalden alıntı: fatihkacak
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=fatih.mdb;"); string ara = "insert into nalbur_musteri (isim,tel,adres) values ('"+ismi.Text+"','"+teli.Text+"','"+adresi.Text+"')"; OleDbDataAdapter sadp = new OleDbDataAdapter(ara,connect); DataSet ds = new DataSet(); connect.Open(); sadp.Fill(ds); connect.Close(); MessageBox.Show(ismi.Text +" Adlı Kayıt Eklendi","Bildirim Mesajı");
arkadaşlar bu kodu uyguladığım zaman veritabanına kaydetmiyor..C# ta biraz yeniyim yardımcı olursanız çok sevinirim..
Kodda bir hata göremedim ama hatayı da yazarsan daha iyi olur, hata almıyorsan da veritabanını iyi kontrol et, çalıştırdığın dosyada bulunmasına dikkat et.
bir hata vermiyo normal şekilde çalışıyor...veritabanına kaydet dediğimde kayıt gerçekleşiyor....kayıtları listele butonuna tıkladığımda ise eklenen kaydı gösteriyor...formu kapatıp veritabanımdaki tabloma bakıyorum kayıt eklenmemiş....daha sonra formu mu tekrar çalıştırıyorum...kayıtları listele diyince kayıt göstermiyor...debug klasörünün içine attım veritabanımı...
quote:
Orijinalden alıntı: fatihkacak
bir hata vermiyo normal şekilde çalışıyor...veritabanına kaydet dediğimde kayıt gerçekleşiyor....kayıtları listele butonuna tıkladığımda ise eklenen kaydı gösteriyor...formu kapatıp veritabanımdaki tabloma bakıyorum kayıt eklenmemiş....daha sonra formu mu tekrar çalıştırıyorum...kayıtları listele diyince kayıt göstermiyor...debug klasörünün içine attım veritabanımı...
Pek anlayamadım hala neden böyle birşey olduğunu.
arkadaşlar C# ta Form üzerinde bulunan webbrowser form a nasıl sabitlerim,yani form un boyutuna göre browser ın da boyutu nasıl aynı olur?
quote:
Orijinalden alıntı: frcst
arkadaşlar C# ta Form üzerinde bulunan webbrowser form a nasıl sabitlerim,yani form un boyutuna göre browser ın da boyutu nasıl aynı olur?
Sadece WebBrowser için değil diğer nesneler için de Dock diye bir özellik var onu Fill seçeneğine getirirsen istediğin olur. Bir nesne seçili olduğu zaman Properties penceresinden bunu yapabileceğin gibi, webBrowser1.Dock = DockStyle.Fill; bu komut ile de yapabilirsin.
show() fonksiyonu yerine showdialog() fonksiyonunu kullanırsan sorun düzelir