Witam, mam taką metodę, która wczytuje z Bazy.txt do itemów comboBoxa.
//metoda wyświetlająca dostępne bazy w comboBox
public void wczytajDostępneBazy()
{
string sciezka = Application.StartupPath + @"\Bazy.txt";//przekazujemy ściężkę do pliku z bazy
StreamReader objReader = new StreamReader(sciezka);
string sLine = "";
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
Bazy.Add(sLine);
}
objReader.Close();
for (int i = 0; i < Bazy.Count; i++)
{
comboBox1.Items.Add(Bazy[i]);
}
}
Wywołuje metodę tutaj:
public Form1()
{
InitializeComponent();
this.MaximizeBox = false;
wczytajDostępneBazy(); //ładujemy bazy do ComboBox1
}
Dodaję plik Bazy.txt W solution explorer klikam na projekt, wybieram Add, potem exsiting item i wybieram plik Bazy.txt. Ustawiam Copy to Output Directory na copy if never.
Teraz mam plik Bazy.txt
Jego przykładowa zawartość:
Człowiek
Owoce
Praca
Wszystko działa, ładnie się wczytuje i w comboBox1 pojawią się pozycję do wybrania Człowiek, Owoce, Praca jest ok. Gdy edytuję plik .txt z poziomu Visual Studio też jest dobrze.
Teraz klikam project i publish. Potem instaluje sobie program. Wszystko działa. Instalacja programu utworzyła katalog z tym programem, ikonkę do niego i folder Application Files w nim kolejny folder Vocabulary_1_0_0_7 a w nim pliki programu:
Bazy.txt
Człowiek.txt
Owoce.txt przy każdym jest rozszerzenie deploy. Tutaj screen:
http://imageshack.us/photo/my-images/84/screenfoldera.jpg/
Teraz chciałem coś dodać.
Więc otwieram plik Bazy.txt w notatniku i dopisuję na końcu wiersza np. Dom, zapisuję zmiany, teraz włączam program a w combox jest tyle samo elementów co na początku. Dlaczego program nie zauważył zmian? Jak to naprawić?
Próbowałem również z zasobami dodaję do Resources, ale ten sam problem później co wyżej?
Czy ktoś wie jak to zrobić a może lepiej dodać jakoś te pliki, tak aby były Application.UserAppDataPath, tylko w jaki sposób? Bardzo proszę o pomoc.