Visual studio 2008 expres usuwa mój kod

0

Witam, mam drobny problem z tym środowiskiem i nie mogę sobie z tym poradzić. Gdy dodam przycisk na formatkę przez przeciągnięcie i później w kodzie formy ustawię mu tło wczytywane z pliku to po odświeżeniu designera mój dopisany kod jest usuwany z pliku. Przez to nie mogę pracować a za nic nie wiem jak to naprawić. Dziwne rzeczy się też dzieją gdy dodam grafiki do resource a następnie podpinam je w kodzie jako tło przycisku to designer zmienia nazwy moich grafik na nazwę przycisku.

Da sie coś z tym zrobić? Muszę używać tej wersji VS bo piszę program na windows XP i tylko ta wersja nie robi z tym większych problemów.

Pozdrawiam Dexter

1

Zmiany dodawaj w konstruktorze formy albo zdarzeniu np. FormCreate. Nic nie zmieniaj w metodzie InitializeComponent, zresztą powinien być tam komentarz by tego nie robić.

Muszę używać tej wersji VS bo piszę program na windows XP i tylko ta wersja nie robi z tym większych problemów.
pod 2010, 2012 i 2013 również można pisać dla XP.

0

Wiem że można ale nie udało mi się tego ruszyć, dopiero na 2008 zaczęło poprawnie działać.

A co z dodawaniem plików do resources? Gdy dodam coś do zasobów (plik form.resx) i nie zostanie użyte w initialize component to zostaje automatycznie usunięte z zasobów mimo że używam tego pliku w innym miejscu programu. Gdy użyję tego pliku w initialize component to zmieniana jest jego nazwa.
Co z tym można zrobić?

Dziękuje za informację.

0

c++/Cli .Net 3.5

Zrobiłem tak jak poradziłeś, dodałem ładowanie grafik do zdarzenia form_load ale mam problem bo nie są one widoczne w designerze a przez to przeźroczyste przyciski zlewają się z tłem, nie dało by się jakoś pokazać designerowi skąd ma wczytać grafiki? Chyba że przeźroczystość włączę dopiero przed wczytaniem grafik wtedy przyciski będą widoczne ale to tak"po rusku" zrobione.

0
  1. dlaczego nie ustawisz tła po prostu w designerze?
  2. co jest złego w tym, że ci zmienia nazwę obrazka?

wydaje mi się, że zamiast upierać się by robić wszystko po swojemu, zrób tak jak chce Visual i nie zawracaj sobie głowy „problemem”.

0

Pliki z tłem przycisków ładuję z dysku żeby program był szybszy, gdy są wszystkie w designerze niestety muli i wszystko miga przy przełączaniu. Druga sprawa to kilka przycisków używa tej samej grafiki i gdy designer zmienia nazwę przyciski nie widzą tego pliku a poza tym bez sensu jest ładować tę samą grafikę kilka razy do pamięci dla każdego przycisku.

Niestety muszę tak robić bo sprzęt na którym ma działać program ma zaledwie 500 MHz procka i nie wyrabia.

0

Dodałem event wspólny dla kilku przycisków i w nim wybieram jakie grafiki ustawić

 private: System::Void WykryciePrzyciskow(System::Object^ sender, System::EventArgs^ e){
				System::ComponentModel::ComponentResourceManager^  rmgr = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
				String^ NazwaPrzycisku = safe_cast<Button^>(sender)->Name;
				if(NazwaPrzycisku == "button_start_stop")
				{
					button_start_stop->BackgroundImage = Image::FromFile("Grafiki\\stop.PNG");
				};
				if(NazwaPrzycisku == "button_trawienie")
				{
				 button_trawienie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik1czerw.PNG");
				 button_mieszanie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik2ziel.PNG");
				 button_wylewanie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik2ziel.PNG");
				}
				else if(NazwaPrzycisku == "button_mieszanie")
				{
				 button_trawienie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik2ziel.PNG");
				 button_mieszanie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik1czerw.PNG");
				 button_wylewanie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik2ziel.PNG");
				}
				else if(NazwaPrzycisku == "button_wylewanie")
				{
				 button_trawienie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik2ziel.PNG");
				 button_mieszanie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik2ziel.PNG");
				 button_wylewanie->BackgroundImage = Image::FromFile("Grafiki\\przelacznik1czerw.PNG");
				};
				if(NazwaPrzycisku == "button_LED_AKWA")
				{
					button_LED_AKWA->BackgroundImage = Image::FromFile("Grafiki\\zarowka_ON1.PNG");
				};
			 }

1 użytkowników online, w tym zalogowanych: 0, gości: 1