Try creating another variable on that current form to store that Username and then assign the username passed into that variable. Your constructor will be like this then:
private string username;
public talkingWithProgram(string userName, string pcName)
{
InitializeComponent();
this.Text = pcName;
programQuestion.Text = "Whatcha wanna talk about \n" + userName + "?";
this.userName = userName;
}
sportsCategories y = new sportsCategories(userName);
Creating a new sportsCategories class now passes userName from this context, which has the value from the previous form. Currently it looks like you're referring to the userName in the constructor which is in the method context and out of scope outside.