This code is untested but should point you in the right direction.
Youll need to provide credentials of a user in AD that has admin privileges to reset passwords. Will take username passed in from textbox to reset that users password.
string username = txtUsername.Text;
string adminUser = "AdminUserInAD";
string adminPass = "AdminUserPassInAD";
string ldapString = "LDAP://YourLDAPStringGoesHere";
DirectoryEntry de = new DirectoryEntry(ldapString , adminUser, adminPass, AuthenticationTypes.Secure);
DirectorySearcher deSearch = new DirectorySearcher(de) {SearchRoot = de, Filter = "(&(objectCategory=user)(cn=" + username + "))"};
var directoryEntry = deSearch.FindOne();
directoryEntry.Invoke("SetPassword", new object[] {"password"});
directoryEntry.Properties["LockOutTime"].Value = 0;
directoryEntry.Close();
Also,
Howto: (Almost) Everything In Active Directory via C#[
^]