That is because there is still a user connected to that database.
Change the default database that *You* are logging into SSMS with, and then log back into SQL. Verify that no users are connected by using sp_who2 command.
Once no users, or processes are connected to that database. You should be able to detach it. If that fails. Create a Full backup. Drop the database, re-create the same database in the other location, and then restore from the backup that you just took.
You do not have to have the same directory structure. You can store the databases in any directory that you like. I actually store mine in a directory of the same name, under a parent of "SQL Server 2008 Databases". I also store the log file(s) on a separate spindle. And then store the backups on a totally separate box.