Show recent posts in single-post page

The function get_posts() accepts a parameter ‘post__not_in’, which allows you to specify an array of post IDs to exclude from the query. get_posts() is just a wrapper for WP_Query, so the documentation for this parameter can be found here.

When inside the loop (such as inside single-events.php) you can retrieve the current post’s ID with get_the_ID() (codex). So the following should work:

$args = array( 
    'post_type' => 'events', 
    'post__not_in' => array( get_the_ID() ),
);

$myposts = get_posts( $args );