şuan detaylıca yardımcı olamıyorum bazı sebeplerden dolayı. ancak 2-3 güne bakbilirm eğer çözüm bulamadıysanız.. yanlız gözüme çarpan şu oldu

string topnumara = "lstnumaralar.Items[sayi - 1]";

burada " " tırnak ifadelerini kaldırıp deneyin.. topnumara o zaman lstnumaralardan değer alır..